2015-04-07 225 views
1

日期參數查詢SQL表我有一個ODBC連接,它只是查詢SQL表:如果我在MS查詢查詢Excel中:從細胞

SELECT * FROM [TABLE] WHERE myDate = ? 

,它會提示的日期,我可以只需輸入4/2/2015並返回4/2/2015數據完全

我有參數設置爲從單元以讀取(B1):

=WorkSheetName!$B$1 

當我切換到Excel,並把4/2/2015B1然後刷新 - 它給我轉換日期和/或時間從字符串錯誤轉換失敗。

我試着編輯我的查詢到WHERE CONVERT(Varchar(10),myDate,101) = ?但沒有運氣。不知道爲什麼我得到這個,似乎應該這麼簡單。

回答

0

在嘗試使用Date作爲過濾器時,必須用#填充過濾器部分。

應該是這樣

SELECT * FROM [TABLE] WHERE myDate = #4/2/2015# 
+0

感謝您的答覆,但其中shoudl的##分別去了?如果我把它們放在我的命令文本中(SELECT * FROM TABLE WHERE myDate =#?#我得到了一堆錯誤(無效的列名'#@ P1#',聲明無法準備/以下數據範圍失敗刷新「等... – Jay

+0

請粘貼你的整個代碼... VBA –

+0

嗨Saagar我沒有VBA代碼我試圖把表單按鈕放到工作表。refreshall在一點,但沒有工作,所以我擺脫了它它的全部通過連接定義選項卡 – Jay

1

我很感激我得到反饋 - 但它竟然是對的東西,我是俯瞰我來說很簡單。我保存日期的實際單元格被格式化爲日期,並給出轉換錯誤。一旦我將它格式化爲文本單元格,它就會正確地返回給定日期的數據。謝謝

0

將「myDate」列轉換爲「Smalldatetime」格式應該適合您。

試試這個:

SELECT * FROM [TABLE] WHERE Cast(myDate as smalldatetime) = ? 

感謝