2017-01-01 44 views
0

所有記錄我工作的一個Access項目,我需要幫助的東西..顯示爲同一ID

我有2個表,第一個命名tblHoliday,用字段(ID,OfficerID,OffType,從,To)[From]和[To]是日期字段。

第二張表是帶有字段(ID,OfficerID,Date)的tblService。 每個表中的[OfficerID]之間都有關係。

每[OfficerID] 可能有兩個或者更多的記錄在表tblService ,, 我設計了一個形式tblHoliday進入人員的節日,我的問題是(我需要檢查是否有[日期]例如:如果他有一項服務,一名幹事要求假期從2017年1月1日到2017年1月10日在[From]和[To]之間的表tblService中相同[OfficerID],表示OfficerID在表tblHoliday中)在2017年1月3日將給出提示信息「軍官對2017年1月3日即服務」的

我的代碼工作,但僅限於在tblService爲同一OfficerID

Dim dtmMyDate As Date 
    dtmMyDate = DLookup("Date", "tblService", "OfficerID = " & Me.OfficerID) 

    If dtmMyDate > Me.From And dtmMyDate < Me.To Then 
     MsgBox "The Officer has a Service" 
    Else 
     MsgBox "Done" 
    End If 
01的第一個記錄

回答

0

創建一個查詢:

從這個
Select 
    tblService.* 
    tblHoliday.* 
Where 
    tblService.OfficerID = tblHoliday.OfficerID 
    And 
    tblService.Date Between tblHoliday.From And tblHoliday.To 

打開記錄或指定給一個列表框要麼循環或列出違規的服務天數。

+0

謝謝你的回答..但我真的不明白它..所有我需要的是一個MsgBox的形式,當我輸入數據 –

+0

然後打開這個查詢作爲記錄集,並循環這個你添加每個找到的官員的名字到一個字符串變量。如果不是第一條記錄,則前綴'vbCrLf'。最後,將變量用作消息框的提示來顯示名稱列表。 – Gustav