您好 -
我正在使用MS Access,并且正在使用表单来运行查询。该表单有两个文本框,一个组合框和一个按钮。
所有这三个条件都为查询提供条件,并且单击按钮时该按钮将运行查询。当前,文本框正在运行,它们提供了查询条件。该组合框绑定到另一个表中的数据,并且当前不提供查询条件。
我想做的是,当我在组合框上选择一个项目并使用按钮运行查询时,所选项目就是用作查询条件的项目。
如果这需要vba代码,那么如果您向我展示了它是如何完成的,我将不胜感激。
谢谢
早安,
是的,这需要一些VBA代码才能执行。您尚未说明将要输入到文本框,文本框名称或其他内容中的实际数据,但我已经创建了如何进行的基本布局:
Private Sub btnRunSQL_Click()
On Error GoTo ErrHandler:
'Retrieve data from the form elements
Dim forename As String
forename = Forms!frmTest!txtForename
Dim surname As String
surname = Forms!frmTest!txtSurname
Dim occupation As String
occupation = Forms!frmTest!cmbOccupation
Dim strSQL As String
strSQL = "SELECT * " & _
"FROM Patient " & _
"WHERE Job = [" & occupation & "] AND Forename = " & forename & " " & _
"AND Surname = " & surname & "; "
'Print our SQL to see what we are retrieving
Debug.Print strSQL
'Run the constructed SQL statement
DoCmd.RunSQL strSQL
ErrHandler:
'If an error occurs
If Err.Number <> 0 Then
MsgBox "Error Number: " + Err.Number + ": Description: " + Err.Description
End If
End Sub
上面我们可以看到,我按名称明确地引用了表单上的元素,以便top获得它们内部的信息并将它们传递给自己的变量。(注意-您可能需要执行一些验证,以确保在执行SQL之前填充所有这些字段。)
然后,我根据传递的值构造SQL,并将其打印到立即窗口中,以确定其构造是否正确。然后,我使用以下命令执行该语句:
DoCmd.RunSQL strSQL
我还确保可以处理任何可能出现的错误,并通过功能按钮上定义的错误处理程序将其呈现给用户。
最后一件事:您知道如何进入VBA窗口以及如何为按钮专门构建代码吗?
如果不这样做,请执行以下操作:
Build Event
Code Builder
并点击确定现在,您将进入VBA窗口(也可以通过按来打开Alt + F11
)
我希望这有帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句