Ms access 更改后Access数据库出错

Ms access 更改后Access数据库出错,ms-access,vba,Ms Access,Vba,我知道这很难实现,但我真的需要帮助,而且我是Microsoft Access的新手,正在处理一些遗留代码,我不知道问题出在哪里 和其他访问数据库一样,我有一些表、列、查询、报告等 在同事更改了一些表的名称(可能还添加/删除了列等)后,此代码停止工作。这是一个简单的SQL语句,它查询tabel1并在表单中插入信息。请注意,在用户更改数据库之前,数据库工作正常 不再工作的代码,并突出显示错误发生的位置: 我已经在底部添加了代码,但留下图片以突出显示错误发生的位置 接收im时出错: 运行时错误“258

我知道这很难实现,但我真的需要帮助,而且我是Microsoft Access的新手,正在处理一些遗留代码,我不知道问题出在哪里

和其他访问数据库一样,我有一些表、列、查询、报告等

在同事更改了一些表的名称(可能还添加/删除了列等)后,此代码停止工作。这是一个简单的SQL语句,它查询tabel1并在表单中插入信息。请注意,在用户更改数据库之前,数据库工作正常

不再工作的代码,并突出显示错误发生的位置:

我已经在底部添加了代码,但留下图片以突出显示错误发生的位置

接收im时出错:

运行时错误“2580”:记录源不存在

问题:如果记录源不存在,那么实际上不存在的是什么

我对错误的看法

我的SQL显然存在,所以我假设PrivatList是问题所在?这是我可以在设计/布局视图中访问的列表吗?我想让你猜一下,因为我可以在任何地方找到这个列表,或者你会猜什么?或者,由于某些表/列不再存在,是否会触发错误

谢谢你的帮助

编辑:添加了上面图片的代码版本


发生此错误是因为SQL语句与表的结构不匹配。要解决这个问题,您需要修复SQL或尝试找出如何将tabel1恢复到原来的状态

要修复SQL,请确保仅使用最近更改后当前位于选项卡1中的列。当然,这可能会破坏MS Access表单或报表中的其他内容

修理桌子要困难得多,但如果你有足够的决心,这是可能的。首先查看哪些列正在查询中使用,但在表中缺少。你需要猜猜他们过去是什么类型的人。把这些加到你的桌子上。当然,期待一些尝试和错误

从您发布的查询中,我希望tabel1至少包含以下列:

Id,
area, 
[are systemname],  //possibly you misspelled this column in your SELECT clause
[area systemname], //this is probably the correct spelling
[charge name],
avoid,
//and you omitted the other columns, but you get the idea

好吧,一位同事更改了一些表的名称,可能还添加/删除了列等等……这是我见过的最糟糕的想法。表是结构的基础,结构建成后改变地基是许多头痛的承诺。

您已经收到的更新查询以满足新表结构的建议是正确的……尽管在表示级表单/报表中的查询上方仍可能存在许多问题,这些问题将抛出错误,直到它们得到调整


根据更改的数量,你可能会认真考虑在同事做损坏之前回到版本……< /P>请提供你的过去和现在的代码——作为文本,而不是剪切图片。@ Gustav在邮局的底部添加了代码。我再次提醒您,在员工对数据库表进行更改之前,代码工作正常,这表明代码不是问题所在。“Highlighted行是发生错误的地方。好吧,然后提供表架构的更改。@Gustav同事没有记录更改,做了一些更改。”。在进行更改之前,代码运行良好。正如我在文章底部提到的,我在问更新数据库、更改名称、删除列等是否会触发此错误。我们能知道什么?我们甚至没有当前的模式。看来你的同事需要一些教育,最重要的是,欠你一大杯啤酒。谢谢你的建议,我现在在交通部,下一次会用我的电脑跟进

Id,
area, 
[are systemname],  //possibly you misspelled this column in your SELECT clause
[area systemname], //this is probably the correct spelling
[charge name],
avoid,
//and you omitted the other columns, but you get the idea