簡體   English   中英

在Access 2010查詢中使用IF THEN

[英]Using IF THEN in Access 2010 Query

我對Access查詢的編碼不是很了解,所以希望有人可以幫助解決這個問題。 我有一個查詢(使用查詢生成器),該查詢具有來自表tblProcedures名為RetrainInterval的字段(這將返回一個數字,例如tblProcedures等;必須重新訓練特定文檔的輪換月份),並且表tblTrainingRecords另一個名為Training/Qualification Date tblTrainingRecords

我希望查詢查看給定記錄的RetrainInterval (記錄字段在tblProceduresClassID ),然后查看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/

報告-http://postimg.org/image/krl5945l9/

如果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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM