我對Access 2010中的VBA非常新。我試圖更改表格的字段名稱中的值。下面是詳細信息:在表格的字段名稱中查找和替換數據
Table Name: WeeklySaleT
Field Name: SitusPreDirection
在SitusPreDirection可能的值: 「E」 「N」 「S」 「W」
想改變以下的每一次出現 「E」= 「東方」 N」 =‘北’,‘S’=‘南’和‘W’=‘西部大開發’
我怎麼會做,在VBA?
我對Access 2010中的VBA非常新。我試圖更改表格的字段名稱中的值。下面是詳細信息:在表格的字段名稱中查找和替換數據
Table Name: WeeklySaleT
Field Name: SitusPreDirection
在SitusPreDirection可能的值: 「E」 「N」 「S」 「W」
想改變以下的每一次出現 「E」= 「東方」 N」 =‘北’,‘S’=‘南’和‘W’=‘西部大開發’
我怎麼會做,在VBA?
這將是最好的,如果你不使用查詢首先複製表格,然後將表格添加到查詢設計窗口中,從工具欄中選擇更新查詢並將SitusPreDirection添加到d通過雙擊或拖動來設計網格。例如,將標準設置爲「E」「N」「S」「W」中的一個,並將「更新至」設置爲匹配值「east」。
如果切換到SQL視圖,你會看到類似這樣的:
UPDATE WeeklySaleT SET SitusPreDirection = "East"
WHERE SitusPreDirection = "E"
可以在VBA使用像這樣:
Dim db As Database
Set db = CurrentDB
sSQL = "UPDATE WeeklySaleT SET " _
& "SitusPreDirection = ""East"" WHERE SitusPreDirection = ""E"""
db.Execute sSQL, dbFailOnError
的查找表的指示,你可以使用單個UPDATE查詢。
SitusPreDirection_lookup
:
SitusPreDirection long_name
E East
N North
S South
W West
然後創建一個新的查詢,切換到SQL視圖,並在此UPDATE語句粘貼。您可以在SQL,設計和數據表視圖之間切換,試驗對查詢設計的更改並查看這些更改的結果。
UPDATE WeeklySaleT
SET SitusPreDirection = DLookup("long_name",
"SitusPreDirection_lookup",
"SitusPreDirection = '" & SitusPreDirection & "'")
如果你不希望創建一個查找表,你可以建立一個使用Switch Function查詢。然後,如果沒有單獨的表格,您基本上會在查詢中嵌入查找對。但我認爲一張桌子更容易維護。考慮如果你需要擴展包括NE,SE,SW和NW的方向會發生什麼。使用表格,您只需爲每個表格添加一行,並且相同的查詢將繼續無縫工作。但是,在查詢中嵌入查找數據時,您需要修改查詢的SQL。