对查询代码的一点改进
时 间:2013-01-31 18:56:57
作 者:Aaron ID:20267 城市:闵行
摘 要:对查询代码的一点改进,简化了一些输入,提高了效率。
正 文:
对查询代码的一点改进,简化了一些输入,提高了效率。
(1)在子窗体建立全局变量:
Dim mstrSearchQuery As String '查找窗体对应的查询名称
Dim mstrOrderField As String '查找结果用来排序的字段
(2)在模块中加入公用函数
'生成查询窗体的查询字段列表
Public Function FindString(strQuery As String) As String
Dim qrySearch As QueryDef
Dim fldSearch As Field
Dim blnMatch As Boolean
Dim intFieldType As Integer
Dim strSearch As String
For Each qrySearch In CurrentDb.QueryDefs
If qrySearch.Name = strQuery Then
Set qrySearch = CurrentDb.QueryDefs(strQuery)
blnMatch = True
Exit For
End If
Next
If blnMatch = False Then
MsgBox "请检查输入的查询名称!"
FindString = ""
Exit Function
End If
For Each fldSearch In qrySearch.Fields
Select Case fldSearch.Type
Case dbDate
intFieldType = 1
Case dbText, dbMemo
intFieldType = 3
Case Else
intFieldType = 2
End Select
strSearch = strSearch & fldSearch.Name & ";" & intFieldType & ";"
Next
FindString = strSearch
Set qrySearch = Nothing
Set fldSearch = Nothing
End Function
(3)子窗体中的查询代码
'查找功能
Public Sub btnFind()
Dim SearchString As String
DoCmd.OpenForm "usysfrmFind" '- ------打开查询窗体
'文本型对应 3 ,日期型对应 1 ,数值型对于 2 -------查询不同的字段类型的时候,对应不同的数字来表示
SearchString = FindString(mstrSearchQuery)
Forms!usysfrmFind!cobfldName.RowSource = SearchString '-------设置需要查询的字段,已经设定该查询字段的数据类型
'指定查询数据来源
Forms!usysfrmFind!labDataSource.Caption = mstrSearchQuery
End Sub
Public Sub FindEnd() '----------------查询结束后执行的过程
Forms!usysfrmMain!frmChild.Form.RecordSource = Acchelp_ChildFormRecordSource(mstrSearchQuery, mstrOrderField, True) '- ----------刷新子窗体数据
End Sub
(4)子窗体的加载过程代码
后发现这段代码还是放到窗体的open过程比较稳妥。因为当窗体的记录为0时,并不会触发Load过程。
Private Sub Form_Load()
Forms!usysfrmMain!labFind.Tag = 1
Forms!usysfrmMain!btnEdit.Tag = 999
mstrSearchQuery = "qryEmployees" '---------------------只要替换查询的名称,注意大小写
mstrOrderField = "员工编号" '---------------------注意字段的拼写,必要的字段要加[ ]号。
End Sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)