我有兩個表 - tblSalaryBand
和tblSalaryBandYear
由tblSalaryBand.ID = tblSalaryBandYear.SalaryBandID
連接。在tblSalaryBandYear
之內,我有BandMax和BandMin的值,然後是ReviewYearID。因此,對於每個工資條,我可以每年有一個最大值和一個最小值。訪問2013年 - 一對多關係:顯示「一」側的所有值,並只選擇「多」側的值
我想要做的是列出所有薪金級別以及所選年份的最大值和最小值。然而,tblSalaryBandYear
當年可能還沒有工資帶的價值。
我有一個連續的形式設置,我可以得到顯示所有薪金級別,即使他們沒有價值tblSalaryBandYear
使用左連接:
SELECT tblSalaryBand.BandName, tblSalaryBandYear.BandMax, tblSalaryBandYear.BandMin, tblSalaryBand.ID AS SalaryBandID
FROM tblSalaryBand LEFT JOIN tblSalaryBandYear ON tblSalaryBand.ID = tblSalaryBandYear.SalaryBandID;
但是,當我試圖篩選他們通過ReviewYearID下降,如果tblSalaryBandYear
中沒有值,他們根本不顯示。
SELECT tblSalaryBand.BandName, tblSalaryBandYear.BandMax, tblSalaryBandYear.BandMin, tblSalaryBand.ID AS SalaryBandID
FROM tblSalaryBand LEFT JOIN tblSalaryBandYear ON tblSalaryBand.ID = tblSalaryBandYear.SalaryBandID
WHERE (((tblSalaryBandYear.ReviewYearID)=[Forms]![frmHome]![SelectedYear]));
是否有辦法讓所有薪資區域顯示,然後僅顯示所選評審年度中的BandMin和Max值?
所以嘗試了第一個選項 - 訪問似乎不喜歡有[表格] [frmHome] [SelectedYear]在加入!。給我一個錯誤,說它不被支持。 第二個選項有效,但我不認爲它會在所有情況下拉出正確的記錄。如果我選擇一個沒有任何薪金記錄的年份,我只會得到顯示任何年份都沒有價值的樂隊。他們不是今年,但他們是空的。 – icouper 2015-04-02 16:04:56
@icouper哦,我不知道Access不支持第一個查詢中的構造。我在第二個查詢中看到問題 - 讓我想一想 – jpw 2015-04-02 16:11:10
我會做一些搜索,看看前者在Access中有沒有辦法工作,但是如果您有任何其他想法可以使用。 – icouper 2015-04-02 16:13:05