在窗体中自动创建按字段的模糊值进行查询
在窗体中加入一个文本框控件(T1)和一个组合框控件(C01)。
文本框左边的标签的标题为“请输入查询值”,组合框左边的标签的标题为“请选择查询字段”
在窗体中输入以下代码,即可实现按字段进行模糊查询
Option Compare Database
Const bm As String = "id" '设置表的名称,本例中为id,用户使用时可修改成需要的表名
Private Sub C01_AfterUpdate() '组合框更新后事件
If Len(T1) > 0 Then
s = "select * from " & bm & " where " & C01.Column(0) & " like '*" & T1 & "*'" '根据查询值和选择的查询字段构成查询条件
Me.RecordSource = s '设置窗体的记录源,从而实现查询
Else
Me.RecordSource = "select * from " & bm '当查询值为空时,表示全部记录
End If
End Sub
Private Sub Form_Load() '窗体的加载事件
Dim dbs1 As DAO.Database
Dim rst1 As DAO.Recordset
Dim s As String
C01.RowSourceType ="Value List" '设置组合框的行来源类型属性为“值列表”
Set dbs1 = CurrentDb
Set rst1 = dbs1.OpenRecordset(bm)
s = ""
'下述循环获得表的字段名
For i = 0 To rst1.Fields.Count - 1
With rst1.Fields(i)
s = s & .Name & ";"
End With
Next i
s = Mid(s, 1, Len(s) - 1) '去掉最后一个分号
C01.RowSource = s '设置组合框中的选择项
End Sub