在Access 2010 VBA中编写SQL语句,以根据表单中的字段值检索多值字段的内容

时间:2016-12-09 15:14:35

标签: sql vba ms-access access-vba ms-access-2010

对我来说,这应该有效,而且我不确定为什么不是。通常非常善于处理这些东西,或者在我找到答案之前搜索论坛,或者引导我去做的事情。

Private Sub Command94_Click()

'Set SQL Statement
Dim strSQL As String
Dim strSQL1 As String

  strSQL = [Forms]![frmYMAD_Coordinator]![YMAD_Number]
  strSQL1 = "SELECT YMAD_Category.value " & _
            "FROM tblYMAD " & _
            "WHERE YMAD_Number = '" & strSQL & "' ;"

MsgBox (strSQL1)
End Sub

但是,这是我在msgbox测试中得到的结果:

SELECT YMAD_Category。[value] FROM tblYMAD WHERE YMAD_Number = '25';。

现在,字段YMAD_Category是一个多值字段,YMAD_NumbertblYMAD中的字段,也是frmYMAD_Coordinator上字段的名称。

我显然在这里遗漏了一些东西,但不确定它是什么。我可以在查询设计视图中获取查询以在Access中编写SQL,同时从多值字段中提取结果,但不能在VBA中提取结果。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

怎么样

  strSQL1 = "SELECT " & YMAD_Category.value & _
        " FROM tblYMAD " & _
        "WHERE YMAD_Number = '" & strSQL & "' ;"

此外,你确定YMAD_Number是一个以字符串形式存储的数字吗? 如果是一个号码,您可能希望在WHERE YMAD_Number = " & strSQL & ";"上过滤,而不会在值周围使用单引号'