我无法弄清楚这有什么不妥, 我正在从表单中收集搜索条件以在搜索中使用它。
这样存储的SQL行:( strWhere是从表单中收集的信息)
SQLst =“SELECT Deposits.Fines,Deposits。[Deposit Value],Deposits。[Deposit Date],Deposits.Depositor,Info.Tower,Deposits。[Account Number] FROM Info,Deposits Where”& strWhere& “;”
最终的SQL语句如下所示:
SELECT Deposits.Fines,Deposits。[Deposit Value],Deposits。[Deposit Date],Deposits.Depositor,Info.Tower,Deposits。[Account Number] FROM Info,Deposits Where([Account Number] =“1234” );
现在我使用此命令运行Line(SQLst是SQL Line up)
DoCmd.OpenQuery SQLst
我收到此消息:
答案 0 :(得分:5)
不是DoCmd.OpenQuery SQLst
,即保存的查询,而不是SQL字符串。你需要:
' Best to use a separate instance, so you can get record counts etc.
Set db = CurrentDB
对于动作查询:
db.Execute SQLst, dbFailOnerror
对于SELECT查询,您可以使用记录集或更新或创建查询。
Set rs = db.Openrecordset(SQLst)
' This query does not exist
Set qdf = db.CreateQueryDef("MyQuery", SQLst)
我怀疑帐号是文字,所以:
([Account Number] = 1234);
引号用于文本类型的字段/列,数字按原样,日期用哈希(#)分隔。