2012-12-18 27 views
1

我有一個計算員工週年日期的查詢。我希望該查詢基於當前日期爲我的表生成一個入口事件。當他們的週年約會來臨時,基本上會自動生成周年紀念假期應計。這是我的表格的一個例子。MS-Access根據日期自動輸入信息

Table name "SchedulingLog" 
LogID "PrimaryKey AutoNbr" 
UserID "Employee specific" 
LogDate 
EventDate 
Category "ex Vacation, Anniversary..." 
CatDetail "ex. Vacation Day Used, Anniversary..." 
Value "ex. -1, 1..." 

我查詢

Query Name "qry_YOS" 
UserID "Employee Specific" 
DOH "Employee hire date" 
YearsOfService "calculated Field" 
Annual "calculated Field" 
Schedule "Employee Specific" 
Annual Vac Days "calculated field" 
Anniversary "calculated Field" 

查詢相關的SQL

INSERT INTO schedulinglog 
      (userid, 
      [value], 
      eventdate, 
      logdate, 
      category, 
      catdetail) 
SELECT roster.userid, 
     [annual] * [schedule]          AS [Value], 
     Month([wm doh]) & "/" & Day([wm doh]) & "/" & Year(DATE()) AS EventDate, 
     DATE()              AS LogDate, 
     category.[category name]         AS Category, 
     catdetail.catdetail 
FROM roster, 
     tblaccrual, 
     category 
     INNER JOIN catdetail 
       ON category.categoryid = catdetail.categoryid 
WHERE ((([tblaccrual] ! [years]) < Round((DATE() - [wm doh])/365, 2))) 
GROUP BY roster.userid, 
      roster.[wm doh], 
      Round((DATE() - [wm doh])/365, 2), 
      roster.schedule, 
      Month([wm doh]) & "/" & Day([wm doh]) & "/" & Year(DATE()), 
      DATE(), 
      category.[category name], 
      catdetail.catdetail 
HAVING (((category.[category name]) LIKE "vacation*") 
     AND ((catdetail.catdetail) LIKE "anniversary*")); 

我知道這是可能我只是不知道從哪裏開始。

+0

您希望將查詢返回的數據插入表中,是否正確?您可以基於現有查詢添加追加查詢。 – Fionnuala

+0

是的第一個問題。和一個大?到第二個。 –

+1

使用查詢設計窗口,將保存的查詢添加到網格,然後從工具欄中選擇追加。選擇要添加結果的表,您最終會得到類似於'INSERT INTO Table1(AText2,ANumber) SELECT Query1.AText2,Query1.Total FROM Query1;' – Fionnuala

回答

1

使用查詢設計窗口,將保存的查詢添加到網格並從工具欄中選擇追加。選擇表的結果添加到,你最終會喜歡的東西:

INSERT INTO Table1 (AText2, ANumber) 
SELECT Query1.AText2, Query1.Total 
FROM Query1; 

可以觸發查詢,以便對事件運行或要求用戶點擊一個按鈕。

+0

感謝Remou!這工作真棒! –

+0

謝謝。你完成了所有的重任。 – Fionnuala