有兩個表:
duzhexinxi
tushu
下面陳述句提示“FROM句子語法錯誤”:
RS3.Open "select * from tushu JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
但是加入innet或left、right都提示“引數不足,期待是1”。
RS3.Open "select * from tushu inner JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
tushu表里面確定有jieshuren欄位,duzhexinxi里面有bianhao欄位。
究竟是哪里有問題呢?????求高手指點迷津。
uj5u.com熱心網友回復:
究竟是哪里有問題呢?????求高手指點迷津。uj5u.com熱心網友回復:
求高手指點迷津。


uj5u.com熱心網友回復:
你的RS3是什么物件?一般“Open”都是進行“資料庫連接”操作的,怎么會在那兒執行“查詢操作”?
uj5u.com熱心網友回復:
我問的是:用join聯合查詢,出現“FROM句子語法錯誤”,或“引數不足,期待是1”uj5u.com熱心網友回復:
求高手指點迷津。uj5u.com熱心網友回復:
什么資料庫?是否設定為區分大小寫了?先把SQL貼到資料庫自己的查詢視窗中進行測驗。
uj5u.com熱心網友回復:
ACCESS資料庫。uj5u.com熱心網友回復:
沒有設定區分大小寫。重新貼問題:
有兩個表:
duzhexinxi
tushu
下面陳述句提示“FROM句子語法錯誤”:
RS3.Open "select * from tushu JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
但是加入innet或left、right都提示“引數不足,期待是1”。
RS3.Open "select * from tushu inner JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
tushu表里面確定有jieshuren欄位,duzhexinxi里面有bianhao欄位。
究竟是哪里有問題呢?????求高手指點迷津。
uj5u.com熱心網友回復:
把 conn 的連接字串貼出來。uj5u.com熱心網友回復:
在模塊中(其他功能運行是正常的):
Public RS3 As New ADODB.Recordset
Public Sub sjk(conn)
conn.ConnectionString = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & App.Path & "\#xt.mdb;PWD=08888..."
conn.Open
End Sub
uj5u.com熱心網友回復:
試試不用 ODBC 驅動,改用 OLEDB:conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\#xt.mdb;PWD=08888..."
uj5u.com熱心網友回復:
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\#xt.mdb;Password=08888..."uj5u.com熱心網友回復:
換個寫法試試select * from tushu a, duzhexinxi b where a.jieshuren = b.bianhao
uj5u.com熱心網友回復:
找不到可應用的ISDN
uj5u.com熱心網友回復:
引數不足,期待是1.
uj5u.com熱心網友回復:
把你的 SQL 直接放到 Access 里去除錯。直接雙擊你的 .mdb 檔案。uj5u.com熱心網友回復:
在你的工程中,點選單“工程”-“參考”,在彈出的視窗中,選中 Micosoft AxtiveX Data Objects 2.8 或以上。uj5u.com熱心網友回復:
在你的工程中,點選單“工程”-“參考”,在彈出的視窗中,選中 Micosoft AxtiveX Data Objects 2.8 或以上。
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\#xt.mdb;Password=08888..."
找不到可應用的ISDN
重新貼問題:
有兩個表:
duzhexinxi
tushu
下面陳述句提示“FROM句子語法錯誤”:
RS3.Open "select * from tushu JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
但是加入innet或left、right都提示“引數不足,期待是1”。
RS3.Open "select * from tushu inner JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
tushu表里面確定有jieshuren欄位,duzhexinxi里面有bianhao欄位。
究竟是哪里有問題呢?????求高手指點迷津。
uj5u.com熱心網友回復:
把你的 SQL 直接放到 Access 里去除錯。直接雙擊你的 .mdb 檔案。
本身是參考了的。
uj5u.com熱心網友回復:
應該是你系統的問題了。創建了同樣的表結構,同樣的代碼,運行正確。
環境:WinXP、Access 2003、Visual Basic 6.0 (SP6)
把殺毒軟體關閉再試試。
uj5u.com熱心網友回復:
怎么覺得不是SQL陳述句錯,而是你的ado呼叫不對呢uj5u.com熱心網友回復:
conn.CursorLocation = adUseClient
RS3.Open "select * from tushu a, duzhexinxi b where a.jieshuren = b.bianhao",conn, adOpenStatic
uj5u.com熱心網友回復:
重新貼問題:有兩個表:
duzhexinxi
tushu
下面陳述句運行完全正常:
RS3.Open "select * from tushu where DateDiff('d', jiechudate,now()) > 20)"
下面陳述句提示“FROM句子語法錯誤”:
RS3.Open "select * from tushu JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
但是加入innet或left、right都提示“引數不足,期待是1”。
RS3.Open "select * from tushu inner JOIN duzhexinxi ON tushu.jieshuren = duzhexinxi.bianhao", conn, 1, 3
tushu表里面確定有jieshuren欄位,duzhexinxi里面有bianhao欄位。
究竟是哪里有問題呢?????求高手指點迷津。
uj5u.com熱心網友回復:
要說明一下,不是其他地方有問題,而是加入 inner JOIN 或者 join后有問題。uj5u.com熱心網友回復:
加入 inner JOIN 或者 join后有問題。uj5u.com熱心網友回復:
覺著你還是把mdb放到共享盤啥的上面,讓大家下載下來實際除錯一下吧uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
select * from (tushu as a inner JOIN duzhexinxi as b ON a.jieshuren = b.bianhao)或者
select * from tushu as a,duzhexinxi as b where a.jieshuren = b.bianhao
試試
建議還是放到Access里面執行一下,在Access里面執行的時候SQL陳述句和一般ADO呼叫時的SQL陳述句有點不一樣,以上第一種寫法是Access里面執行時的寫法。
另,“引數不足,期待是1”這種錯誤的最大可能是欄位名拼寫錯誤
uj5u.com熱心網友回復:
樓主,在 VB 中,你的 SQL 陳述句是作為字串傳送給資料庫引擎(驅動程式)的,由它來決議和執行。實際上,每一個資料庫引擎在 SQL 語法要求上有細微的區別,比如日期型常量使用 # 號還是 ' 作為括號,等等。估計你用的資料庫引擎不支持你當前的 Inner 或 Left 關鍵詞的用法,或者就不支持多種的聯合查詢功能。
一是你可以到 Access 的 SQL 除錯視窗驗證一下你的 SQL 陳述句是否正確;二是換其他引擎試試。
uj5u.com熱心網友回復:
select * from (tushu as a inner JOIN duzhexinxi as b ON a.jieshuren = b.bianhao)
或者
select * from tushu as a,duzhexinxi as b where a.jieshuren = b.bianhao
試試
建議還是放到Access里面執行一下,在Access里面執行的時候SQL陳述句和一般ADO呼叫時的SQL陳述句有點不一樣,以上第一種寫法是Access里面執行時的寫法。
另,“引數不足,期待是1”這種錯誤的最大可能是欄位名拼寫錯誤
RS3.Open "select * from (tushu as a inner JOIN duzhexinxi as b ON a.jieshuren = b.bianhao)", conn, 1, 3
引數不足,期待是1
uj5u.com熱心網友回復:
28樓的意思是把SQL陳述句放到access里面直接執行看看。如果SQL沒錯,那就是呼叫的錯。不要一直糾結于這個報錯,要搞清楚報錯是ado給的還是access給的uj5u.com熱心網友回復:
select * from (tushu as a inner JOIN duzhexinxi as b ON a.jieshuren = b.bianhao)
或者
select * from tushu as a,duzhexinxi as b where a.jieshuren = b.bianhao
試試
建議還是放到Access里面執行一下,在Access里面執行的時候SQL陳述句和一般ADO呼叫時的SQL陳述句有點不一樣,以上第一種寫法是Access里面執行時的寫法。
另,“引數不足,期待是1”這種錯誤的最大可能是欄位名拼寫錯誤
正解,解決了我的部分問題.
uj5u.com熱心網友回復:
‘ “ & duzhexinxi.bianhao & “ ‘轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/54318.html
上一篇:無效的程序呼叫或引數
下一篇:去掉最高分最低分求平均分
