【发布时间】:2014-02-22 20:41:52
【问题描述】:
我正在使用 MS Access 2007 并使用链接表连接到 SQL Server,并且在我使用 Access 表时可以正常工作的 SQL 查询现在收到上述错误消息,因为我正在使用链接表。我失败的代码如下:
Dim rst As Recordset
Dim db As Database
Dim sql As String
If Not (ToDate.Value = "" And FromDate.Value = "") Then
Set db = CurrentDb()
sql = "SELECT dbo_tblSurvey.SurveyID " & _
"FROM dbo_tblSurvey INNER JOIN (dbo_tblInvestigType INNER JOIN dbo_tblInvestigator " &_
"ON dbo_tblInvestigType.InvestigNum = dbo_tblInvestigator.InvestigNum)" & _
"ON dbo_tblSurvey.SurveyID = dbo_tblInvestigType.SurveyID " & _
"WHERE ((" & FromDate & " <= dbo_tblSurvey.RegisDate <= " & ToDate & ")" & _
"AND (dbo_tblInvestigType.InvestigType = 'Primary'))" & _
"ORDER BY dbo_tblSurvey.SurveyID"
Set rst = db.OpenRecordset(sql, dbOpenDynaset, dbSeeChanges)
我尝试过使用 SQL 查询的格式,发现如果我只是从查询中取出“ToDate”控件,使我的代码如下所示,那么它就可以正常工作:
Dim rst As Recordset
Dim db As Database
Dim sql As String
If Not (ToDate.Value = "" And FromDate.Value = "") Then
Set db = CurrentDb()
sql = "SELECT dbo_tblSurvey.SurveyID " & _
"FROM dbo_tblSurvey INNER JOIN (dbo_tblInvestigType INNER JOIN dbo_tblInvestigator " &_
"ON dbo_tblInvestigType.InvestigNum = dbo_tblInvestigator.InvestigNum)" & _
"ON dbo_tblSurvey.SurveyID = dbo_tblInvestigType.SurveyID " & _
"WHERE ((" & FromDate & " <= dbo_tblSurvey.RegisDate)" & _
"AND (dbo_tblInvestigType.InvestigType = 'Primary'))" & _
"ORDER BY dbo_tblSurvey.SurveyID"
Set rst = db.OpenRecordset(sql, dbOpenDynaset, dbSeeChanges)
“ToDate”控件是用于输入日期的文本输入控件,除了名称不同外,其他方面都与“FromDate”控件相同。 关于为什么会发生这种情况的任何想法?感谢任何人都可以提供的任何帮助。
【问题讨论】:
标签: sql sql-server ms-access odbc