如何在 MS Access 中使用 SQL 查询将字段值增加 1

How can I increment a field value by 1 using SQL Query in MS Access

我正在使用 Automation Anywhere 客户端处理一个项目。 我正在使用 SELECTUPDATE 语句将数据从 MS Excel 提取到 MS Access,但数据可能会自行重复,在这种情况下,我想 UPDATE 只有 3 个字段,这些是我正在使用的语句

    INSERT INTO $vDiagnosis$ 
    VALUES ('$vID$','$vFirstName$','$vLastName$','$vGender$','$vPhone$','$vAge$',
    '$vDateOfVisit$','$vCondition$','$vInsuranceCo$','$vInsuranceNr$','$vVisitingNumber$')
    
    Update $vDiagnosis$ 
    SET DateOfVisit = '$vDateOfVisit$', Condition = '$vCondition$' 
    WHERE ID = '$vID$' 

这是 DateOfVisitConditionVisitingNumber(这是数字多次有人去过那家医院)。问题是,我试图在每次执行 UPDATE 语句时增加 VisitingNumber,例如,今天有人访问,我希望它是 1,UPDATE 语句再次执行,我希望 1 递增。

我尝试创建一个变量,并在每次执行 UPDATE 时递增它,但每当它循环并转到下一个 INSERT 语句时,它会继续递增,即使它插入一个新值。

A preview of the work I'm trying to do on Automation Anywhere

如有任何帮助,我们将不胜感激。 提前致谢!

不确定提到的可变方面,但增加 VisitingNumber 计数应该可以完成:

UPDATE $vDiagnosis$ 
   SET DateOfVisit = '$vDateOfVisit$',
       Condition = '$vCondition$',
       VisitingNumber = VisitingNumber + 1
 WHERE ID = '$vID$' 

对于插入,visitingNumber 的值可以只是没有变量的 1,像这样:

INSERT INTO $vDiagnosis$ 
VALUES ('$vID$','$vFirstName$','$vLastName$','$vGender$','$vPhone$','$vAge$',
'$vDateOfVisit$','$vCondition$','$vInsuranceCo$','$vInsuranceNr$', 1)

或者更好的是,也许可以在 table 级别指定默认值 1,然后它根本不需要包含在插入查询中。 (它会在插入时设置为 1)

希望这是有道理的。