所以我有以下查詢:訪問SQL查詢所需(日期)
DoCmd.RunSQL "delete * from [TABLE NAME] where month = '" & Format(PrevMonth, "yyyy-mm-dd") & "'"
month
是一個文本字段。
讓我們說PrevMonth = August 2010
所以,而不是刪除日期爲2010年8月的行,我希望它刪除2010年8月和之後的所有行?所以2010年9月,2010年10月,等等。
謝謝。
所以我有以下查詢:訪問SQL查詢所需(日期)
DoCmd.RunSQL "delete * from [TABLE NAME] where month = '" & Format(PrevMonth, "yyyy-mm-dd") & "'"
month
是一個文本字段。
讓我們說PrevMonth = August 2010
所以,而不是刪除日期爲2010年8月的行,我希望它刪除2010年8月和之後的所有行?所以2010年9月,2010年10月,等等。
謝謝。
您可以使用CDate()函數將您的文本日期轉換爲日期/時間數據類型。
然後:
DELETE FROM [TABLE NAME]
WHERE CDate([month]) >= #2010/08/01#;
我在括號內的字段名稱,因爲月()是訪問VBA函數...括號讓接入知道治療一個月爲一個字段,而不是功能。如果它是我的數據庫,我會重命名該字段。
首先創建一個基於[表名稱],你每月轉換從文本到日期查詢
SELECT *,CDate("1 " & [Month]) AS DateDate
現在你可以使用日期爲正常
FROM Table Name;
DELETE Query1.DateDate
FROM Query1
WHERE (((Query1.DateDate) Between #1/1/2010# And #12/31/2010#));
希望這有助於
你不認爲HansUp的方法可行,而且更容易? – Fionnuala 2010-09-07 15:22:23
HansUp版本將在一個聲明,但如果CDate任何記錄失敗,我的版本將允許它更容易檢查發生了什麼 – ClimberM 2010-09-07 15:43:23
謝謝,我給了你一個投票,但它不是我正在尋找。我在這裏只是一名實習生,他們讓我管理一個訪問程序,其中包含由另一名學生編寫的意大利麪代碼。因此,加入這將進一步複雜的事情,爲下一個人來保持這一點。 – masfenix 2010-09-07 18:35:45