我有一個電子表格可以轉換爲Access數據庫。我有一列輸入的客戶名稱,我想用我們的會計系統中適當的客戶編號替換。從查詢查詢中更新查詢
我創建了一個包含客戶信息的表格和一個查詢,顯示需要將哪些ID插入到源數據中。我在找的是:
UPDATE tblStarting_Data
SET CustomerID=x
WHERE TEMPCustomer=y
其中X和Y來自qryIDPerCustomer。
我可以使用循環嗎?我如何參考另一個查詢?
我有一個電子表格可以轉換爲Access數據庫。我有一列輸入的客戶名稱,我想用我們的會計系統中適當的客戶編號替換。從查詢查詢中更新查詢
我創建了一個包含客戶信息的表格和一個查詢,顯示需要將哪些ID插入到源數據中。我在找的是:
UPDATE tblStarting_Data
SET CustomerID=x
WHERE TEMPCustomer=y
其中X和Y來自qryIDPerCustomer。
我可以使用循環嗎?我如何參考另一個查詢?
在MS Access另一種可能性(從託默勒格答案借來的對象名稱):
UPDATE tblStarting_Data, qryIDPerCustomer
SET tblStarting_Data.CustomerID=qryIDPerCustomer.CustomerID
WHERE tblStarting_Data.TEMPCustomer=qryIDPerCustomer.CustomerName
我想加盟將幫助您:
UPDATE
tblStarting_Data AS sd
INNER JOIN qryIDPerCustomer AS qc ON sd.TEMPCustomer = qc.CustomerName
SET
sd.CustomerID = qc.CustomerID;
這可表示爲相關子查詢,以及(儘管聯接語法爲首選):
UPDATE
tblStarting_Data
SET
CustomerID = (
SELECT CustomerID
FROM qryIDPerCustomer
WHERE CustomerName = tblStarting_Data.TEMPCustomer
)
無需一個循環,兩個語句將一步更新tblStarting_Data
中的所有記錄。
我不能讓你的方法工作...這是有道理的,當我讀了它,但它的代碼剛剛獲得不執行。 – NickSentowski 2009-05-05 16:19:03
ACE/Jet不支持ACE/Jet(即使在它自己的ANSI-92查詢模式下),您的相關子查詢語法(儘管是有效的標準SQL-92語法) – onedaywhen 2009-05-06 07:17:29