对查询代码的一点改进
时 间: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)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)