首页 > 解决方案 > 如何使用 MS Access 中的 SQL 查询将字段值增加 1

问题描述

我正在使用 Automation Anywhere Client 开发一个项目。我正在使用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$' 

它们是DateOfVisitCondition以及VisitingNumber(这是某人访问该医院的次数)。问题是,我试图在每次执行语句时增加VisitingNumberUPDATE,例如,今天有人访问,我希望它为 1,UPDATE再次执行语句,我希望增加 1。

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

我正在尝试在 Automation Anywhere 上进行的工作的预览

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

标签: ms-accessinsertincrementrpaautomationanywhere

解决方案


不确定提到的可变方面,但增加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)

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

希望这是有道理的。


推荐阅读