2
這有點難以描述,所以對我這麼裸露。我有3張桌子。即使連接結果在MS Access中爲空,我如何返回查詢結果?
一個包含了配置文件,如下所述:
ID NM
==============
1 Profile A
2 Profile B
第二個包含任務:
ID NM
==============
1 Assignment A
2 Assignment B
我的第三個包含FID的兩個,並允許您將它們像這樣的優先次序:
ID P_FID A_FID PRIORITY
========================
1 1 2 1
2 1 1 2
我的問題是通過連續的形式填充第三個表,所以最終用戶有輸入優先權的能力。基本上,有一個組合框可以讓用戶選擇合適的配置文件。如果第三個表中沒有條目,它應該會顯示所有的分配,以便您可以輸入優先級。如果該表中已有記錄,則應檢索這些值以便更新優先級。
只要第三個表爲空,以下查詢就會很好地工作。一旦用戶輸入優先級並嘗試切換到其他配置文件,它將不會返回任何記錄,除非它是選定的配置文件。
SELECT tblProfileForAssignments.PROFILE_FID,
tblAssignments.NM,
tblProfileForAssignments.PRIORITY
FROM tblAssignments
LEFT JOIN tblProfileForAssignments ON tblAssignments.ID = tblProfileForAssignments.ASSGNMNT_FID
WHERE (tblProfileForAssignments.PROFILE_FID = Forms!frmProfileAssignments!cmboProfile)
OR (tblProfileForAssignments.PROFILE_FID IS NULL);
這可以通過使用聯合的單個查詢來完成,我會想,還是應該回到VBA來解決這個問題?就像我說的那樣,只要第三張表是空的,或者他們只在他們選擇的第一個配置文件上工作,它就會很好,除此之外它失敗了。這有意義嗎?
太棒了!這就像一個冠軍。 – Munsterlander