我在Access 2010中有一个数据库,用于我们校园里的所有密钥。该表是CampusBuilding,它有一个名为:KeyNumber的字段。因此,在此字段中,我们列出了大约600个密钥,每个密钥具有不同的编号(没有具有相同编号的密钥)。有时我需要将密钥的数量更改为另一个数字。所以这是一个例子: 在名为KeyNumber:
的字段中,从1到8的数字列表8
6
7
3
2
1
5
4
这是我想做的。 在名为:CampusBuildingKeys的表单中,我转到具有数字8的字段的记录,并且我想将数字8替换为7.当我为此字段键入7时,数字8将转到数字7为7的字段。这意味着编号为7的记录现在是8号。 我希望你能理解我想说的话。 我还没有很熟悉Access,所以我很感激任何建议! 谢谢
答案 0 :(得分:2)
像这样的东西可能工作......
UPDATE CampusBuildingKeys
SET KeyNumber = Iif(KeyNumber = 7, 8, 7)
WHERE KeyNumber IN (7, 8)
答案 1 :(得分:0)
我建议将操作包装在存储过程中。我不熟悉确切的Access语法,但是这个线程(http://accessexperts.com/blog/2011/07/29/sql-server-stored-procedure-guide-for-microsoft-access-part-1/)应该是一个很好的起点。
创建一个存储过程,该过程包含2个参数(key1,key2)并执行以下(kinda-hack)语句的等效语句:
UPDATE table SET key=-100 WHERE key=key2
UPDATE table SET key=key2 WHERE key=key1
UPDATE table SET key=key1 WHERE key=-100
我使用-100
值临时指向具有键-2的行。