Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 对字段应用查找将删除字段中已有的值(MS Access 2010)_Ms Access_Lookup - Fatal编程技术网

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

Ms access 对字段应用查找将删除字段中已有的值(MS Access 2010),ms-access,lookup,Ms Access,Lookup,我遇到了一个优秀的查找向导教程: 但我遇到了一个困难的情况,因为我的表在我应用查找的字段中已经有了数据。这是因为我有一个从Excel导入的表。 此字段已包含在record_created_by字段中创建每条记录的工作人员的姓名。导入后,我希望应用查找从tblStaff_成员检索员工姓名值。这将使未来的数据输入更容易,用户只需从列表中进行选择。但是,当我应用查找时,Access希望删除我导入的表中字段中已有的值 这意味着我必须用其中的数据更新字段。我可以用lookup下拉菜单手动完成,但这将花费

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

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

这意味着我必须用其中的数据更新字段。我可以用lookup下拉菜单手动完成,但这将花费500多条记录的很长时间

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

有办法摆脱这个困难吗


Wil

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


耗时的。。。但它是有效的

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

第一步。从excel导入数据,并根据需要设置COL。 第二步。运行以下查询

SELECT DISTINCT [OldTableName.FieldName] INTO [NewTableName]
FROM [OldTableName];
第三步。当它给出您想要的结果时,将其作为Make Table查询运行,并将创建包含您所需数据的表

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

第五步。我回到旧表中,使用查找向导创建关系和链接,然后根据需要设置属性。有其他方法来设置组合框,这是推荐的,你可以使用它们,如果你愿意,但这是我的需要足够好


我希望这会有所帮助。

如果人们在投票前给出理由,我很乐意在回复中更改/讨论任何内容。我总是给出我投反对票的理由,并不是说我经常投反对票,我也希望如此。