注 操作日期為列名 格式為date
dim sqla sa string
sqla="Select * From 表名稱 Where 操作日期 BETWEEN #" & DTPicker1 & "# AND #" & DTPicker2 & "#"
Adodc1.connectionstring = "。。。。"
Adodc1.RecordSource = sqla
Adodc1.Refresh
運行以后 提示 日期的語法錯誤在 查詢運算式 ‘操作日期 between #2018/5/1 星期五# and #2018/5/2 星期六# ’中
請問為什么會報錯!
哪步不對了請指教下
uj5u.com熱心網友回復:
這里整理至少一個引數沒有被指定值錯誤的可能原因:1、sql陳述句原因:因為access資料庫對join語法支持有局限性,所以在寫access資料庫join陳述句的時候注意參考這篇文章中介紹的sql格式:access資料庫多表聯合查詢(Left Join等)的sql陳述句寫法。其實有時候也可以考慮這種多表查詢:select * from table1,table2 where table1.tid=table2.tid and table1.userid='A00001'。
2、欄位名字寫錯。這種錯誤雖然很低級,但是還是經常會發生。所以當access資料庫提示至少一個引數沒有被指定值錯誤的時候,建議耐心對比下sql中各欄位名字是否和資料表中的欄位名一致。
注意以上問題,就再也不怕access資料庫的這個至少一個引數沒有被指定值的錯誤了。
感謝大師,希望對小伙伴們有用 ,
參考鏈接 https://zhidao.baidu.com/question/1796076501101539987.html?fr=iks&word=vb+select+%D6%C1%C9%D9%D2%BB%B8%F6%B2%CE%CA%FD%C3%BB%D3%D0%B1%BB%D6%B8%B6%A8%D6%B5&ie=gbk
uj5u.com熱心網友回復:
sqla="Select * From 表名稱 Where 操作日期 BETWEEN #‘ " & DTPicker1 & "’ # AND #‘ " & DTPicker2 & " ’#"若 DTPicker1和DTPicker2 是VB界面的控制元件名,格式應該為上!
uj5u.com熱心網友回復:
試試:sqla="Select * From 表名稱 Where 操作日期 BETWEEN #" & Format(DTPicker1, "YYYY-mm-dd") & "# AND #" & Format(DTPicker2, "YYYY-mm-dd") & "#"
可能與資料庫引擎對時間日期字串的決議能力有關。有些格式它無法處理。
二樓說法不對。Access 資料庫的時間日期串用 # 號括起來,SQL 庫的時間日期才用引號,且不能二者同時用。
uj5u.com熱心網友回復:
錯誤提示那么明確的告訴你了日期的語法錯誤在 查詢運算式 ‘操作日期 between #2018/5/1 星期五# and #2018/5/2 星期六# ’中
你還沒看出日期運算式不對么?那個星期五你看得懂,程式看不懂了
uj5u.com熱心網友回復:
星期五這種不要加上,2008-1-1 8:33:22 這里取一部分是可以uj5u.com熱心網友回復:
SQL 陳述句實際上完全以字串構成。日期時間格式資料實際上是 Double 數字。當轉成日期時間字串時,就有多種格式之分。采用哪種格式取決于在控制面板中的“日期、時間、語言和區域設定”。
而用 Format 格式就可以得到你所需要的字串格式。
uj5u.com熱心網友回復:
把 & 換成 + 試試uj5u.com熱心網友回復:
日期變數改成長日期格式試試:yyyy-mm-dduj5u.com熱心網友回復:
改成qla="Select * From 表名稱 Where 操作日期 BETWEEN #" & Format(DTPicker1,"yyyy-mm-dd") & "# AND #" & Format(DTPicker2 ,"yyyy-mm-dd")& "#"
試一下
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/45273.html
標籤:VB基礎類
