请帮助我使这个 Access 2007 友好

Posted

技术标签:

【中文标题】请帮助我使这个 Access 2007 友好【英文标题】:Please help me make this Access 2007 Friendly 【发布时间】:2012-01-13 21:52:05 【问题描述】:

由于我多年没有编程,我请朋友帮我解决我在使用 Access 数据库时遇到的问题,他的回答如下:

让我举一个例子来确保我在看这个 对。您从 ID 为 1 的记录开始。它会被更新,并且 系统生成一条 ID 为 2 的新记录,并带上旧 ID 在 RenewalOf 字段中为 1,以此类推以用于将来的续订。如果说 是正确的,并且每条记录只允许被引用一次(所以 RenewalOf 中只会有一条 ID 为 1 的记录 字段),那么以下应该可以工作:

这段代码不起作用:

UPDATE
tblSold
SET
RenewedToID = RenewalRecord.SoldID
FROM
tblSold
INNER JOIN tblSold RenewalRecord ON
tblSold.SoldID = RenewalRecord.RenewalOf

不确定您的 SQL 查询中允许什么,但这是基本且 应该没事。您还可以添加一些标准以仅更新 RenewedToID 字段为空的记录,或仅针对一条记录 如果您在添加新记录后处理此问题。你可以 通过运行以下命令检查以确保这将起作用:

但是这样做了:

SELECT
tblSold.SoldID
,RenewalRecord.SoldID
FROM
tblSold
INNER JOIN tblSold RenewalRecord ON
tblSold.SoldID = RenewalRecord.RenewalOf

这将列出原始 ID 以及续订 ID,即 将被放入原始记录中。让我知道这是否有效或 如果您有任何问题。

你能帮我让他的第一个代码 sn-p 在 Access 2007 中工作吗?

【问题讨论】:

第一次查询返回的错误是什么? 【参考方案1】:

您可能需要稍微重新安排 Access 的更新:

UPDATE
tblSold
INNER JOIN tblSold RenewalRecord ON
tblSold.SoldID = RenewalRecord.RenewalOf
SET
tblSold.RenewedToID = RenewalRecord.SoldID

显示此类语法的其他一些 SO 答案:SQL Update Statement in MS AccessHow to create a correlated update subquery in MS-Access?

【讨论】:

以上是关于请帮助我使这个 Access 2007 友好的主要内容,如果未能解决你的问题,请参考以下文章

在 Access 2007 中创建存储过程

如何使用 .htaccess 和 php 制作用户友好的 url

在 Razor (C#/MVC 4) 中生成“友好 URL”的帮助程序

AJAX 和 SEO 友好的 URL

如何在 PrettyFaces 的帮助下将长的 Liferay URL 映射到友好的 URL?

友好城市