2012-12-12 53 views
0

看來我總是試圖去做不可能的事情。嗯,我有一個[月/日]表中的格式如下設置:Access 2007:我可以在查詢條件中使用Format()嗎?

Noombers | Lemmas 
----------------- 
0101  | Jan 1 
0102  | Jan 2 
...  | ... 
1230  | Dec 30 
1231  | Dec 31 

我有[出版場地]與領域[讀取]和表[讀操作]利用這個[月/天]表中,當我輸入信息時,我只需輸入「9月1日」,然後點擊選項卡,填充字段(在背景中)爲「0901」。這是一個文本字段,因爲我想按字母數字排序,我也想做字母數字比較。我想我可以爲我的展示發佈地點的完整列表創建查詢當前閱讀做的標準是這樣的:

Field:  Reads From    | Reads To 
Table:  Publication Venues  | Publication Venues 
Sort:  
Show:  
Criteria: >Format(Date(),"mmdd") | <Format(Date(),"mmdd") 

不過,雖然我沒有看到任何錯誤,我也沒有看到應該顯示的記錄。事實上,我沒有看到任何記錄。

因此,我現在假設在查詢的Criteria中不能使用Format()是否安全?如果是這樣,那麼設置這個過濾器的另一種方式是什麼?使用表格,因爲我已經得到它,最好,因爲我已經有數百記錄輸入。如果我可以使用Format(),那麼你認爲我做錯了什麼?

這裏的SQL:

SELECT 
    [Publication Venues].* 
FROM 
    [Publication Venues] 
WHERE 
    ((([Publication Venues].[Still Active?])=Yes) 
    AND 
    (([Publication Venues].[Reads From])<Format(Date(),"mmdd")) 
    AND 
    (([Publication Venues].[Reads To])>Format(Date(),"mmdd"))); 
+1

你可以顯示你正在使用的查詢的實際SQL? – HelloW

+0

@你好,好吧。我已經使用SQL更新了原始文章。 – Zahhar

+1

無需等待,Format()確實有效。這是我的邏輯關閉。 – Zahhar

回答

1

沒有看到錯誤,因爲你在做什麼不會導致任何錯誤。但是,它不能像你期望的那樣工作。

如果你將你的日期記錄爲4個數字訪問並不知道如何解釋。例如,1231轉換爲日期,是1903年5月15日。

要使用您使用的格式,您需要執行>Format(Date()-40043,"mmdd")<Format(Date()-40043,"mmdd")以彌補差異。

更有可能的是,你會想你的4位轉換成一個日期是這樣的:

Cdate(Left$([Reads From],2) & "/" & Right$([Reads From],2) & "/" & Year(Date()))>Date()

長話短說,如果你想使用它們作爲你約會應該存儲日期爲日期。否則,你必須跳過一些環節,以便你的前端知道你正在處理日期。

+0

我很欣賞這個反饋,我很感謝你,但由於某種原因,我的大腦似乎無法遵循這一點。不用說,我有很多東西需要學習,但是我已經想出了一些我的大腦可以遵循的東西,我將作爲答案發布。再次,謝謝。 – Zahhar

1

事實證明,這是解決辦法,至少我的大腦的工作方式:

SELECT [Publication Venues].* 
FROM [Publication Venues] 
WHERE 
    ((([Publication Venues].[Still Active?])=Yes) 
AND 
    (((([Publication Venues].[Reads From]) < ([Publication Venues].[Reads To])) 
    AND 
    (Format(Date(), "mmdd") BETWEEN ([Publication Venues].[Reads From]) AND ([Publication Venues].[Reads To]))) 
OR 
    ((([Publication Venues].[Reads From]) > ([Publication Venues].[Reads To])) 
    AND 
    (Format(Date(), "mmdd") NOT BETWEEN ([Publication Venues].[Reads From]) AND ([Publication Venues].[Reads To])))) 
); 

我感謝你的幫助,人。您的反饋確實讓我的思想朝着一個導向我尋求解決方案的方向發展。

+0

+1這看起來似乎是一個足夠簡單的解決方案,但是我不禁注意到你在價值觀上並沒有包含多年。在1年過去之後,這不可能是一個問題,否則你不需要回到當前年份之外,因此請記住:) –

相關問題