[英]Using IF THEN in Access 2010 Query
我對Access查詢的編碼不是很了解,所以希望有人可以幫助解決這個問題。 我有一個查詢(使用查詢生成器),該查詢具有來自表tblProcedures
名為RetrainInterval
的字段(這將返回一個數字,例如tblProcedures
等;必須重新訓練特定文檔的輪換月份),並且表tblTrainingRecords
另一個名為Training/Qualification Date
tblTrainingRecords
。
我希望查詢查看給定記錄的RetrainInterval
(記錄字段在tblProcedures
為ClassID
),然后查看Training/Qualification Date
並計算該記錄是否應在查詢中。
在模塊中,我將執行以下操作:
IF RetrainInterval = 1 Then
DateAdd("m",1,[Training/Qualification Date]) <add to query if <=today()+30>
ElseIf RetrainInterval = 3 Then
DateAdd("m",3,[Training/Qualification Date]) <add to query if <=today()+30>
ElseIF......
如何將其轉換為可以在查詢中使用的內容? 我的最終目標是生成一個報告,該報告將向我顯示在指定的時間間隔內到期的文檔類編號(例如,我在表單文本框中輸入30,以表示查詢后30天內即將進行的任何所需培訓)。確定上次培訓日期的時間(存儲在培訓記錄表中)的基礎上進行的計算。 我還想確保同一班級編號不會得到多次回報,因為每個班級都會有多個培訓條目,只是獲取最少的最后一次培訓日期。 我希望我解釋得足夠好。 在不存儲整個數據庫的情況下,很難說出我要做什么。
更新
我想休息一會后,我已經簡化了一點。 這是兩張圖片,一幅是當前查詢,一幅是報告中顯示的內容。 我已經能夠對此進行一些改進,但是現在我的問題是,即使我有多個重新培訓的到期日期,我也只希望特定的類在報表上顯示一次,而不是兩次(因為所有內容都在查看包含員工培訓數據,並且每個班級編號都會有多個培訓)。 我只想顯示一個日期,最早的。 希望有道理。
查詢-http: //postimg.org/image/cpcn998zx/
如果RetrainInterval = 1,則在[培訓/資格日期]上增加1個月。
當RetrainInterval = 3時,您將[培訓/資格日期]增加3個月。
等等。
模式似乎是RetrainInterval是要添加的月份數。 如果是這樣, 請在您的DateAdd()
表達式中直接使用RetrainInterval ,不要擔心IF THEN
。
DateAdd("m", RetrainInterval, [Training/Qualification Date])
您不能在查詢中這樣做。 到那兒,詛咒那個!
您可以使用IFF(2> x; 1; 0)來確定如果第一條語句為true,則返回1,如果為false,則返回0。 您不能返回類似IFF(2> x; Cell> 2; Cell> 0)的條件(不可能)(如果可能),我想它只會返回0。 它不會一直顯示錯誤。
您必須使用條件! 我想要這樣的圖片:
希望您關注,否則請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.