【发布时间】:2015-11-20 21:21:58
【问题描述】:
我是一家小公司的实习生,正在对一个已有 15 年历史的访问数据库进行一些修复,该数据库用于跟踪客户、工作等。我正在尝试编写更新查询,但无法似乎开始按我需要的方式工作。这是我的位置。
我有两张桌子。一个包含公司信息。另一个包含联系信息。 company 表的主键也在contact 表中,为一对多关系。例如,如果一家公司有 3 个联系人,则来自 Company 表主键的 CompanyID 号码与 Contacts 表中的三个联系人相关联。
好的。现在的问题是在一个名为“Company”的表单中有一些遗留代码,它同时搜索联系人和公司。问题是联系人表中有一个名为“ContactCompany”的字段正在被这个旧的搜索功能使用。如果用户使用表单更改公司名称,则公司名称会在 Company 表中更新,但不会在 Contacts 表中更新。
我决定使用更新查询来同步两个表单上的公司名称信息。我尝试对其进行设计,以便如果表之间的 ID 号匹配,则 Company 表中的公司名称将被复制到联系人表中。我的代码如下:
UPDATE Company INNER JOIN Contacts ON (Company.ID = Contacts.CompanyID) AND (Company.ContactCompany = Contacts.ContactCompany) SET Contacts.ContactCompany = [Company].[ContactCompany] WHERE (([Contacts].[CompanyID]=[Company].[ID]));
当我运行查询时,Access 告诉我它正在更新 X 条记录,但记录没有更新。
请注意,我使用了查询生成器;当我进入 SQL 视图时,SQL 代码是由 access 自动生成的。
我对 VB 不是很熟悉;我所有的知识都来自谷歌搜索。如果有人能给我一些关于我做错了什么或如何进行的指示,我将不胜感激。谢谢!
【问题讨论】:
-
您好 Someguy,欢迎来到 StackOverflow,下次尝试提供 SqlFiddle,以便我们更好地理解问题并更快地给您答案 – 另请阅读 How to ask 和 How to create a Minimal, Complete, and Verifiable example.跨度>
-
谢谢,我不知道SqlFiddle。
标签: sql database ms-access vba ms-access-2010