所以你需要2張桌子。您的主表格包含CarID作爲關鍵字段,第二個表格包含我們所有的值/興趣。看來你已經這樣設置了。
對於以下示例,您需要創建一個選擇查詢並將其保存爲名稱「mySavedQuery」(選擇查詢在這一點上的作用並不重要,因爲我們將通過代碼對其進行更改)。
在上單擊命令按鈕,你可以這樣做:
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim strSQL As String
Dim intLow As Integer
Dim intHigh As Integer
Dim i As Integer
Set db = CurrentDb
intLow = 1
intHigh = DMax("CarID", "Table2")
For i = intLow To intHigh
strSQL = "SELECT Table1.CarID, Table2.Interest FROM Table1 INNER JOIN Table2 ON Table1.CarID = Table2.CarID " _
& " WHERE (((Table1.CarID)=" & i & "));"
Set rs = CurrentDb.OpenRecordset(strSQL)
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Set qdf = db.QueryDefs("mySavedQuery")
qdf.SQL = strSQL
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "mySavedQuery", "C:\Users\SClark\Desktop\Survey" & i & ".xls", True
End If
Next i
Set rs = Nothing
Set db = Nothing
Set qdf = Nothing
這裏發生的事情是我們確定的最低CarID = 1,並使用DMAX找到最大CarID。然後,我們迭代這些值併爲每個CarID導出一個Excel表。
這是一個降濁的例子,但應該讓你開始正確的道路......
在第二個表,是所有的數據只是特定的汽車的特點是什麼?例如,CarID = 1,數據將是紅色,6個循環等...? –
該表格包含100輛汽車相對於1年的歷史信息。因此,例如,如果我們考慮CarID = 222,則在此表中我們有365行僅與CarID = 222有關。每行包含一個感興趣的值,例如,所涵蓋的km。顯然,我們對所有不同的其他汽車也有365行。我所討論的所有行都在一張表內。我的目標是在單個Excel電子表格中提取與每輛車相關的365行,併爲每輛車做到這一點。我最終會得到與最終汽車數量一樣多的電子表格,每個電子表格都包含365行 – user6490368