对字段应用查找会删除字段中已有的值(MS Access 2010)

时间:2012-08-14 02:27:16

标签: ms-access lookup

我遇到了一个优秀的查找向导教程:

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

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

这意味着我必须使用其中的数据更新字段。我可以使用查找下拉菜单手动完成,但这需要很长时间才能完成500多条记录。

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

出于这种困难的任何方式?

威尔

2 个答案:

答案 0 :(得分:0)

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

耗时......但它确实有效。

答案 1 :(得分:-2)

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

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

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

步骤3.当它为您提供结果时,您希望将其作为Make Table查询运行,它将创建包含您所需数据的表。

步骤4.创建新表后,进入并执行您需要的操作。我个人没有做任何事,因为我不想将这些数据存储为数字,但出于各种原因,有些人可能会这样做。因此,由于数据是唯一的,我只需将新表中的文本数据设置为我的主键,并根据需要设置其他一些属性并将其留在那里。

步骤5.我回到旧表中并使用查阅向导创建关系和链接,然后根据需要设置属性。还有其他方法可以设置组合框,如果您愿意,可以使用它们,但这足以满足我的需求。

我希望这有用。