【问题标题】:Find and Replace data in a Field Name of a Table在表的字段名称中查找和替换数据
【发布时间】:2012-07-23 07:26:53
【问题描述】:

我对 Access 2010 中的 VBA 非常陌生。我正在尝试更改表的字段名称中的值。以下是详细信息:

Table Name: WeeklySaleT
Field Name: SitusPreDirection

SitusPreDirection 中的可能值:“E”“N”“S”“W”

想要更改以下“E”=“East”、“N”=“North”、“S”=“South”和“W”=“West”的每次出现

我将如何在 VBA 中做到这一点?

【问题讨论】:

    标签: ms-access replace vba ms-access-2010


    【解决方案1】:

    如果您不熟悉 VBA,最好使用查询。首先,复制您的表格。然后将表格添加到查询设计窗口中,从工具栏中选择更新查询并通过双击或拖动将 SitusPreDirection 添加到设计网格中。例如,将 Criteria 设置为 "E" "N" "S" "W" 之一,并将 Update To 设置为匹配值 "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
    

    【讨论】:

      【解决方案2】:

      有了路线查找表,您可以使用单个 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。

      【讨论】:

        猜你喜欢
        • 2011-02-21
        • 1970-01-01
        • 1970-01-01
        • 2013-10-11
        • 2015-06-01
        • 2013-03-15
        • 2013-12-01
        • 2023-03-12
        • 2011-02-08
        相关资源
        最近更新 更多