我試圖從查詢(或多個)填寫新表計數和2個變量
我有一個表TomTom公司有以下的列得到充滿計算的新表: TRIPID DRIVERNAME START_TIME END_TIME(日期和時間) start_postext end_postext
我試圖創建一個名爲woperdayperengineer有以下的列表: ID DRIVERNAME每演義 END_TIME(1天neer) woperday
我希望它爲每個工程師創造一個記錄,他具有到特定位置的旅行次數(可以在tomtom.end_postext中找到)。
我爲這樣的查詢:
SELECT Count(tomtom.tripid) AS NumberOfTripsToASite
FROM tomtom
WHERE tomtom.end_time BETWEEN #11/12/2013# AND #11/13/2013#
AND tomtom.drivername = "John Johnson"
AND
(
tomtom.end_postext Like "*S0*"
Or tomtom.end_postext Like "*S1*"
Or tomtom.end_postext Like "*S2*"
Or tomtom.end_postext Like "*S3*"
Or tomtom.end_postext Like "*S4*"
Or tomtom.end_postext Like "*S5*"
Or tomtom.end_postext Like "*S6*"
Or tomtom.end_postext Like "*S7*"
Or tomtom.end_postext Like "*S8*"
Or tomtom.end_postext Like "*S9*"
Or tomtom.end_postext Like "*K0*"
Or tomtom.end_postext Like "*K1*"
Or tomtom.end_postext Like "*K2*"
Or tomtom.end_postext Like "*K3*"
Or tomtom.end_postext Like "*K3*"
Or tomtom.end_postext Like "*K4*"
Or tomtom.end_postext Like "*K5*"
Or tomtom.end_postext Like "*K6*"
Or tomtom.end_postext Like "*K7*"
Or tomtom.end_postext Like "*K8*"
Or tomtom.end_postext Like "*K9*"
)
And tomtom.end_postext Not Like "*Shurgard*";
結果給出的旅行,約翰·約翰遜在2013年11月12日提出的數量。
我想這個自動化,所以它會自動填寫表woperdayperengineer。
我沒有做一個查詢來獲取日期的列表:
SELECT DISTINCT DateValue(tomtom.end_time)
FROM tomtom;
而且我也做了一個查詢來獲取驅動程序的列表:
SELECT DISTINCT (tomtom.drivername)
FROM tomtom;
現在我該怎樣將這些成自動填充表格的查詢或vba腳本?
我想建立一個檢查,以確保它沒有輸入已經在woperdayperengineer表中的日期。
我到目前爲止所做的只是VBA中的循環。我不知道從哪裏開始。有沒有人有提示或示例代碼?
我使用Access 2007年
更新後的第2個RESPONCES:
非常感謝您的答覆! 到目前爲止,我這個(基於雙方的碼的組合):
Woperdayperengineer_append_qry:
INSERT INTO woperdayperengineer
SELECT tomtom.drivername AS drivername,
Format (tomtom.end_time, "mm/dd/yyyy") AS end_time,
Count(tomtom.tripid) AS woperday
FROM tomtom
WHERE tomtom.end_time BETWEEN #11/12/2013# AND #11/13/2013#
AND tomtom.drivername = "John Johnson"
AND
(
tomtom.end_postext Like "*S#*"
Or tomtom.end_postext Like "*K#*"
)
And tomtom.end_postext Not Like "*Shurgard*"
GROUP BY
tomtom.drivername,
Format (tomtom.end_time, "mm/dd/yyyy");
Form3與按鈕Command0:
Private Sub Command0_Click()
Dim dbb As Database
Set dbb = CurrentDb
Private Sub ButtonName_Click()
DoCmd.SetWarnings False
CurrentDb.Execute "woperdayperengineer_append_qry"
DoCmd.SetWarnings True
End Sub
當我按下按鈕沒有反應。
此外,我認爲它需要更多的步驟才能完全自動化。 (我不介意它是否會在啓動時自動觸發,或者如果您不得不按下按鈕,那麼完全自動的過程將是最好的)。日期部分(第#11/12/2013#和#11/13/2013#)應自動選擇工程師工作的下一個日期。當工程師的所有行程完成後,應該選擇下一位工程師(drivername)並生成他工作的所有日期的列表。
當代碼完成後的表應該woperdayperengineer這樣的:
drivername – end_time – woperday
John Johnson 11/12/2013 2
John Johnson 11/13/2013 3
John Johnson 11/14/2013 5
Jack Jackson 11/12/2013 1
Jack Jackson 11/13/2013 4
Jack Jackson 11/14/2013 5
TomTom的數據看起來是這樣的(由數據):
tripid - drivername - start_time - end_time - start_postext - end_postext (and more)
123144 - John Johnson - 11/12/2013 1:45:16 PM - 11/12/2013 2:45:16 PM - Kalverstreet, Amsterdam - Longstreet 69, Rotterdam, K0347
123145 - John Johnson - 11/12/2013 3:49:36 PM - 11/12/2013 4:49:36 PM - Coolsingel, Rotterdam, S2345 - Damstreet, Amsterdam, S3345
123146 - Jack Jackson - 11/12/2013 10:49:36 AM - 11/12/2013 1:49:37 PM - Herenstreet, Den Haag - Neudestreet, Utrecht, K8765
你提到的「更改/刪除日期/你想要的名字標準「,但我不知道如何。
再次感謝迄今爲止所有的幫助。
你想「自動化」這一次搶到所有信息?或者你是否希望隨着時間的推移自動化更新每日/每週/每月等等?這聽起來像你可以使用追加查詢... –
Thx!我想從迄今爲止的所有tomtom數據製作表格。然後我想要在將新數據導入數據庫時更新它。我正在考慮每天或每週更新tomtom表。 – user3240443