你好 -
我正在使用MS Access,我正在使用表单来运行查询。表单有两个文本框,一个组合框和一个按钮。
这三个提供了查询的条件,按钮在单击时运行查询。目前,文本框正在运行,它们提供了查询的条件。 组合框绑定到另一个表中的数据,并且当前未向查询提供条件。
我想要做的是,当我在组合框中选择项目并使用按钮运行查询时,所选项目是用作查询中的条件的项目。
如果这需要vba代码,如果你告诉我它是如何完成的,我将非常感激。
由于
答案 0 :(得分:0)
早上好,
是的,需要一些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
上面我们可以看到我明确地通过它们的名称来引用表单上的元素,以便在它们内部获取信息并将每个元素传递给它自己的变量。 (注意 - 您可能希望进行一些验证以确保在执行SQL之前填充所有这些字段。)
然后我根据传递的值构造SQL并将其打印到即时窗口以确定它是否构造正确。然后我使用命令执行语句:
DoCmd.RunSQL strSQL
我还确保可以出现的任何错误都通过函数按钮中定义的错误处理程序处理并呈现给用户。
最后一件事:你知道如何进入VBA窗口以及如何专门为按钮构建代码吗?
如果您不这样做,请执行以下操作:
Build Event
Code Builder
并点击确定现在您将进入VBA窗口(也可以通过按Alt + F11
打开)
我希望这会有所帮助