MS Access组合框获取所选项目值

时间:2014-01-17 08:24:09

标签: ms-access combobox

你好 -

我正在使用MS Access,我正在使用表单来运行查询。表单有两个文本框,一个组合框和一个按钮。

这三个提供了查询的条件,按钮在单击时运行查询。目前,文本框正在运行,它们提供了查询的条件。 组合框绑定到另一个表中的数据,并且当前未向查询提供条件。

我想要做的是,当我在组合框中选择项目并使用按钮运行查询时,所选项目是用作查询中的条件的项目。

如果这需要vba代码,如果你告诉我它是如何完成的,我将非常感激。

由于

1 个答案:

答案 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窗口以及如何专门为按钮构建代码吗?

如果您不这样做,请执行以下操作:

  1. 在表单设计视图模式下右键单击您的按钮。
  2. 选择Build Event
  3. 选择Code Builder并点击确定
  4. 现在您将进入VBA窗口(也可以通过按Alt + F11打开)

    我希望这会有所帮助