我的公司有一個大型 Access 資料庫,其中列出了我們特定客戶曾經存在的每個用戶。該資料庫是手動管理的。我被要求洗掉 500 多個用戶。這意味著我必須為每個用戶修改三列:
- 狀態(必須改為“已洗掉”)
- 洗掉日期(至當前日期)
- 修訂日期(至當前日期)
顯然,我不想為 500 多個用戶手動Ctrl F和更改這些欄位。更快地執行此操作的最簡單方法是什么?
我有需要在 Excel 中洗掉的用戶串列。我嘗試創建一個查詢,在一個表中顯示所有這些用戶,這樣我就不必對不需要修改的用戶進行排序。它看起來像這樣:
SELECT UserID, Status, Date Deleted, Date Revised
FROM [database name]
WHERE UserID = 'a'
OR UserID 'b'
//(and then 500 more OR statements for each UserID)
ORDER BY UserID;
我想如果我至少可以做到這一點,至少我會在我面前擁有我需要編輯的所有用戶,這樣我就不必Ctrl F。但這不起作用,因為它超過了 Access 中的 1,024 個字符限制。關于如何實作這一點的任何想法?
uj5u.com熱心網友回復:
不要嘗試將 500 多個 UserID 值寫入您的 SQL 陳述句。相反,將 Excel 串列作為表格匯入 Access 資料庫。然后,您可以使用該 UserID 值串列來確定應更新主表的哪些行。
UPDATE MainTable AS m
SET m.Status = 'deleted', m.[Date Deleted] = Date(), m.[Date Revised] = Date()
WHERE m.UserID IN (SELECT UserID FROM tblFromExcel)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314223.html
上一篇:即時構建記錄源時,如何在Report_Open中系結報告欄位?
下一篇:odbc_exec():SQL錯誤:[Microsoft][ODBCMicrosoftAccessDriver]引數太少。預期1.,SQLExecDirect中的SQL狀態為07001
