Tj1 = "[表1].[编号] = [表2].[编号]"
Tj2 = "[表1].[值1]=''"
Tj3 = "[表1].[值2]=''"
Tj4 = "[表1].[值3]=''"
Tj5 = "([表2].[日期]-[表2].[日期])>=28"
Tj = Tj1 & " And " & Tj2 & " And " & Tj3 & " And " & Tj4 & " And " & Tj5
Sql = "SELECT * FROM [表1],[表2] Where " & Tj & " ORDER BY [表1].[编号]"
Tj2 = "[表1].[值1]=''"
Tj3 = "[表1].[值2]=''"
Tj4 = "[表1].[值3]=''"
Tj5 = "([表2].[日期]-[表2].[日期])>=28"
Tj = Tj1 & " And " & Tj2 & " And " & Tj3 & " And " & Tj4 & " And " & Tj5
Sql = "SELECT * FROM [表1],[表2] Where " & Tj & " ORDER BY [表1].[编号]"
不知日期是何格式?
2、Sql = "SELECT * FROM [表1],[表2] Where " & Tj & " ORDER BY [表1].[编号]"
Right: Sql = "SELECT [表1].*,[表2].* FROM [表1],[表2] Where " & Tj & " ORDER BY [表1].[编号]"
也许我的SQL有问题。
不过把Tj5去掉也出现错误。
错误停留在SQL的执行处。
全部代码如下:Dim Db As Database
Dim Rs As Recordset
Dim Sql, Tj1, Tj2, Tj3, Tj4, Tj5 As StringTj1 = "[表1].[编号] = [表2].[编号]"
Tj2 = "[表1].[值1]=''"
Tj3 = "[表1].[值2]=''"
Tj4 = "[表1].[值3]=''"
Tj5 = "([表2].[日期]-[表2].[日期])>=28"
Tj = Tj1 & " And " & Tj2 & " And " & Tj3 & " And " & Tj4 & " And " & Tj5
Sql = "SELECT * FROM [表1],[表2] Where " & Tj & " ORDER BY [表1].[编号]"Set Db = DBEngine.OpenDatabase(App.Path & "\XXX.mdb", Flase, Flase, ";pwd=1234")
Set Rs = Db.OpenRecordset(Sql, 2)MsgBox "OKOK!!", , "Connect!"
错误停在 Set Rs= Db.OpenRecordset(Sql,2)如果是以文本格式存储的日期,如何实现Tj5的目的呢?他的SQL应如何写呢?
2.因为你的SQL语句有问题所以停在你现在打开记录的语句上