VBA访问中的查询中的字符串语法错误

时间:2016-08-12 10:13:49

标签: sql vba ms-access syntax

我在vba access中运行此行时出现3075错误:

Dim sqlMZG As String
sqlMZG = "SELECT MAZeitenGesamt.* Where MAZeitenGesamt.MA = 'JPA' FROM MAZeitenGesamt;"

JPA是一个常数值。我尝试了以下表格,但都没有。

SELECT MAZeitenGesamt.* Where MAZeitenGesamt.[MA] = '" & "JPA" & "' FROM MAZeitenGesamt;

SELECT MAZeitenGesamt.* Where MAZeitenGesamt.MA = '" & "JPA" & "' FROM MAZeitenGesamt;

SELECT MAZeitenGesamt.* Where MAZeitenGesamt.MA = ""JPA"" FROM MAZeitenGesamt;

SELECT MAZeitenGesamt.* Where MAZeitenGesamt.MA = \"JPA\"  FROM MAZeitenGesamt;

SELECT MAZeitenGesamt.* Where MAZeitenGesamt.MA = \'JPA\' FROM MAZeitenGesamt;

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我建议您使用参数而不是引用文字。也就是说,@ gizlmeier是对的,因为你的语法开头是错误的。

Dim sqlMZG As String
sqlMZG = "parameters [MAParam] text; " & _
  "SELECT MAZeitenGesamt.* FROM MAZeitenGesamt Where MAZeitenGesamt.MA = [MAParam];"

从那里,当您创建查询时,您可以设置参数的值:

Set qry = CurrentDb.CreateQueryDef("GetMaz", sqlMZG)
qry.Parameters("MAParam") = JPA

没有凌乱的引用担心等等。