【问题标题】:applying a lookup to a field deletes values already in the field (MS Access 2010)对字段应用查找会删除字段中已有的值 (MS Access 2010)
【发布时间】:2016-05-18 12:28:08
【问题描述】:

我遇到了一个很棒的查找向导教程:

http://www.jegsworks.com/lessons/databases/basics/step-lookupwizard.htm

但我遇到了一个困难的情况,因为我的表已经在我正在应用查找的字段中有数据。这是因为我有一个要从 Excel 导入的表。 这已经包含在 record_created_by 字段中创建每条记录的工作人员的姓名。导入后,我想应用查找以从 tblStaff_members 中检索员工姓名值。这将使以后的数据输入更容易,用户只需从列表中进行选择。但是,当我应用查找时,Access 想要删除已在我导入的表中的字段中的值。

这意味着我必须使用其中的数据更新该字段。我可以使用查找下拉菜单手动执行此操作,但是对于 500 多条记录,这将需要很长时间。

我想到的一种方法是使用更新查询,因为该字段目前只有一个值 - 我的名字(这是一个跟踪创建每条记录的字段,值可能会在未来发生变化工作人员更新表格)。但是,我发现更新查询不适用于已应用查找的字段。

有什么办法可以解决这个问题?

威尔

【问题讨论】:

    标签: ms-access lookup


    【解决方案1】:

    我能够解决此问题的唯一方法是创建另一个数据字段(列)并在新字段中创建查找。通过使用下拉选择复制原始字段中的记录。完成后删除原始字段。

    耗时......但它的工作原理。

    【讨论】:

      【解决方案2】:

      我问了一个类似的问题here,但后来我发现了你的问题。在回答我的问题时,我发现了可能对您有所帮助的步骤,因此我在此提供它们以供我自己参考和考虑。 (我使用的是access 2013,所以其他版本的步骤可能会有所不同)。

      步骤 1. 从 excel 导入数据并根据需要设置您的 cols。 步骤 2. 运行以下查询

      SELECT DISTINCT [OldTableName.FieldName] INTO [NewTableName]
      FROM [OldTableName];
      

      第 3 步。当它为您提供您想要的结果时,将其作为 Make Table 查询运行,它将创建包含您需要的数据的表。

      第 4 步。创建新表后,进入该表并执行您需要的操作。就我个人而言,我什么也没做,因为我不想将这些数据存储为数字,但出于各种原因,有些人可能会这样做。因此,由于数据是唯一的,我只需将新表中的文本数据设置为主键,并根据需要设置一些其他属性,然后将其保留。

      第 5 步。我回到旧表并使用查找向导创建关系和链接,然后根据需要设置属性。还有其他推荐的设置组合框的方法,您可以根据需要使用它们,但这已经足够满足我的需要了。

      我希望这会有所帮助。

      【讨论】:

      • 如果人们在投票前给出理由,我很乐意更改/讨论我的回复中的任何内容。我总是给出我投反对票的理由,而不是我经常投反对票并且会很感激。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多