我正試圖創建一個可填寫的表格,讓我們的員工每天自我評估。我似乎已經有了表格和帶有資料的表在正常作業。我把資料庫分成前端的表格和后端的資料,這樣我就可以把表格分發到每個用戶的電腦上,并使用access runtime。我有兩個表。一個表Employee Info將有Employee Name和Employee Number欄位,這個表將保存該組織內的所有雇員。第二個表 "評估 "保存了被輸入到表格中的資料,這些欄位是。<代碼>員工姓名代碼>,<代碼>員工編號代碼>,<代碼>自我評估代碼>,有一個是/否復選框和<代碼>簽署日期代碼>。當他們點擊表格上的提交按鈕時,簽署日期欄位會自動生成日期。我在寫一個查詢,從雇員資訊表中列出每個雇員的姓名和雇員編號,以及從評估中列出簽名日期,即使他們當天沒有使用該表格,我也有困難。所以基本上,如果某人在那一天沒有自我評估,那么在簽名日期一欄就會顯示為空白。我只能讓它顯示那些在該日期提交了條目的人,而不是顯示所有其他沒有提交的人。
我有這個,但它沒有顯示那些在這些日期沒有提交的人:
我有這個,但它沒有顯示那些在這些日期沒有提交的人。
SELECT【員工資訊】.ID, 【員工資訊】.【員工姓名】, 【員工資訊】.【員工編號】, 評估。【span class="hljs-type">Date Signed
FROM [Employee Info] LEFT JOIN Assessment ON [Employee Info]. [Employee Name] = Assessment.
WHERE (((評估。 [Date Signed])>=[Start Date] And(評估。 [Date Signed])<=[End Date] )
ORDER BY評估。[Date簽名]。
希望我的解釋是正確的。我正試圖在多年后重新進入MS Access。
希望得到任何幫助。
uj5u.com熱心網友回復:
一個只顯示那些在某一特定日期沒有評估的人的查詢將是:
或者一個 "查找不匹配 "的查詢(Access有一個這方面的向導): [在此輸入日期]可以參考表單上的一個控制元件作為引數輸入。
使用上述的UNION查詢可以顯示所有的雇員: 這個查詢中的資料將不能被編輯。 uj5u.com熱心網友回復: 我認為問題在于你沒有在WHERE運算式中檢查null。因此回傳Null,這被認為是不匹配的。我建議你試試下面的代碼: 除此之外,我同意其他人發表的一些意見,即你應該在做LEFT JOIN之前應用WHERE條件。也就是說,你首先在表上做一個SELECT,然后將JOIN應用到這個SELECT上:這樣做更有效率,也是更好的SQL編程實踐。
更多資訊請見LightningGuide.net。
標籤: 上一篇:使用VBA(MSAccess)向Neto網站發送API的POST錯誤
下一篇:同時訪問被用戶鎖定的前臺和后臺
SELECTS.O.C.A.S.A.
SELECT * FROM Employees WHERE EmpID NOT IN (SELECT EmpID FROM Assessment WHERE DateSigned = [enter date here]; SELECT * FROM Employees LEFT JOIN Assessment ON Employees.EmpID = Assessment.EmpID_FK WHERE Assessment.EmpID_FK Is Null AND DateSigned = [enter date here];WHERE DateSigned = Forms! FormName! textboxnameSELECT EmpID, DateSigned FROM Assessments WHERE DateSigned = [enter date here]
UNION SELECT EmpID, DateSigned FROM Employees LEFT JOIN Assessment ON Employees. EmpID = Assessment.EmpID_FK
EmpID_FK Is Null AND DateSigned = [enter date here] 。
SELECT [Employee Info].ID, [Employee Info].[Employee Name], [Employee Info].[Employee Number], Assessment. [Date Signed]
FROM[/span]。
[雇員資訊]。
LEFT JOIN
評估
ON [Employee Info].[Employee Name] = Assessment.
WHERE IsNull([Date Signed]) OR ((評估。 [Date Signed])>=[Start Date] And(評估。 [Date Signed])<=[End Date] )
ORDER BY評估。[Date簽名]。
