我对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。