同样,where子句中的变量

时间:2016-03-07 21:10:50

标签: sql sql-server ms-access windows-7 access-vba

使用Access 2010,Windows 7,SQL Server

无法掌握这一点。有一个在qbe网格中生成的SQL查询然后放入VBA。运行的版本具有文字Transaction_Table.Account_Number,如下所示:

select 
sum( 
    case (when <condition-normal>) then 
        column_one 
    else 
        column_two - column_one 
        )
) from table;

但是当我尝试用文本框的内容替换文字时:

"WHERE (((dbo_Transaction_Table.Sku)=""Transfer"") 
   AND ((dbo_Transaction_Table.Description) Like ""%TO%"") 
   AND ((dbo_Transaction_Table.Account_Number)=""655812""));"

我在查询表达式

中得到语法错误(缺少运算符)
"WHERE (((dbo_Transaction_Table.Description) Like ""%Transfer To%"") 
   AND ((dbo_Transaction_Table.Account_Number)=& Chr$(34) & Me.accntNo & Chr$(34)));"`

1 个答案:

答案 0 :(得分:0)

听起来你只是在常量字符串和注入值之间缺少引号

"WHERE (((dbo_Transaction_Table.Description) Like ""%Transfer To%"") 
 AND ((dbo_Transaction_Table.Account_Number)=" & Chr$(34) & Me.accntNo & Chr$(34) & "));"

虽然您可能会考虑使用参数。我不是VBA的专家,但应该有很多例子。