我想实现一个搜索表单来对访问表进行操作。Access中的搜索表单
但是当我选择表格然后创建一个From时,我得到表格中的所有表格数据而不是搜索字段。当我改变任何值时,表格值会改变。我希望有一个文本字段,用户可以在其中输入搜索条件并点击搜索btn,搜索结果以表格形式或作为消息框出现。
我想实现一个搜索表单来对访问表进行操作。Access中的搜索表单
但是当我选择表格然后创建一个From时,我得到表格中的所有表格数据而不是搜索字段。当我改变任何值时,表格值会改变。我希望有一个文本字段,用户可以在其中输入搜索条件并点击搜索btn,搜索结果以表格形式或作为消息框出现。
您可以在搜索后将数据添加到表单中,但为了保持整洁,您可能会考虑使用搜索框和结果的子表单来处理未绑定的表单。让我们假设你有两个箱子,改为txtName和txtDate和搜索按钮,然后一个非常粗略的想法可以运行:
strSQL = "SELECT aName, aDate FROM aTable WHERE 1=1 "
If Not IsNull(txtName) Then
strWHERE = " AND aName Like '*" & Replace(txtName,"'","''") & "*'"
End If
If Not IsNull(txtDate) Then
strWHERE = strWhere " AND aDate =#" & Format(txtdate,"yyyy/mm/dd") & "#"
End If
Me.SubformControlName.Form.RecordSource = strSQL & strWhere
你当然应该,确保在合理的和干净的控制数据和该记录被返回。
您可以使用像这样打开时把你的形式搜索模式:
Private Sub Form_Open(Cancel As Integer)
'DoCmd.DoMenuItem acFormBar, acRecordsMenu, acFilterByForm, , acMenuVer70
DoCmd.RunCommand acCmdFilterByForm
End Sub
DoMenuItem自从Access 2000以来已被弃用,恐怕。 – Fionnuala 2010-12-22 22:10:04
我有一个搜索表单创建的,我使用是非常方便的。为了设置要搜索的表单,您需要创建一个搜索查询。例如,我的表单具有字段:关键字和来源。因此,您需要将查询链接到包含数据的表。我有的搜索查询是
SELECT KWTable.KW AS Expr1, KWTable.Code, KWTable.Source
FROM KWTable
WHERE (((KWTable.KW) Like "*" & [Forms]![Search_Form]![KW_Text] & "*") AND ((KWTable.Source) Like "*" & [Forms]![Search_Form]![Source_Text] & "*"));
我在框中键入单词并单击一个按钮执行。按钮代码看起来像
Private Sub Command8_Click()
On Error GoTo Err_Command8_Click
Dim stDocName As String
stDocName = "Search_Query"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command8_Click:
Exit Sub
Err_Command8_Click:
MsgBox Err.Description
Resume Exit_Command8_Click
End Sub
我希望这可以帮助。
[这是什么用途?](http://www.allenbrowne.com/ser-62.html) – 2013-07-23 19:47:36