满足条件插入和更新数据

表A:操作日期、操作类型、UUID、姓名、手机号、部门、职位、备注

表B:UUID、姓名、手机号、部门、职位、最后一次操作时间(保证记录是最新的)

---------------------------

在填报页面有字段:操作日期、操作类型、UUID、姓名、手机号、部门、职位、备注

实现功能:

1、输入姓名后,会自动带出UUID、姓名、手机号、部门、职位、备注字段(此功能已实现)

2、表B有填报的姓名时,当操作日期>=最后一次操作时间时,填报提交后根据UUID关键字段更新表B,若操作日期<最后一次操作时间时,不更新记录

(需求:用于数据补录,补录时间与表B的最后一次操作时间作对比,小于的数据不更新,大于的更新数据)

3、若表B中不含填报的姓名时,提交后把数据插入表B

4、操作记录同时存入表A(此功能已实现)

-------如何设置提交件呢,同时能满足2和3呢

--------------------------------

问题已解决,总结一下,跟大家分享:

首先@檬茶茶提供的方法是没有问题的,设置提交条件

1、日期判断:sql("测试OA","select 最后一次操作时间 from MC_Account where  ID='"+F4+"' ",1,1)<B4

2、此前无法按条件更新,是因为我用UUID作为关键字提交用了公式类似:IF(len(F4)=0,UUID(32),F4) ,经过查询,这样做提交时无法根据UUID判断

3、为了解决以上问题,将填报属性里的UUID字段值的公式去除,在填报的单元格进行判断,我用了公式:IF(LEN(F4) = 0, UUID(32), 账户总表.select(ID, 手机号 = D4))

经过上述调整,问题成功解决

FineReport chyou 发布于 2021-11-16 21:34 (编辑于 2021-11-17 15:40)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
檬茶茶Lv4初级互助
发布于2021-11-17 08:49(编辑于 2021-11-17 10:09)

if(sql("连接","select  distinct 'x' from 表 where 姓名 = '"+xxx+"'",1) = 'x',//存在,//不存在)

图片.png

如果条件成立就不提交

  • chyou chyou(提问者) 表B用了智能提交,根据UUID提交,如果表B没有记录的话,会智能判断新增插入;现在问题是补录时间都是小于最后一次操作时间的,这种情况就不让更新表B, 大于最后一次操作时间的就不是补录,提交后更新表B ------------------ 不知这样能否理解
    2021-11-17 09:15 
  • 檬茶茶 檬茶茶 回复 chyou(提问者) 我理解,若操作日期<最后一次操作时间时,不更新记录,那这样的话不就是不更新
    2021-11-17 09:20 
  • chyou chyou(提问者) 回复 檬茶茶 IF(sql(\"测试OA\",\"select 最后一次操作时间 from MC_Account where 手机号=\'\"+D4+\"\' \",1,1)>B4,“不提交”,“提交”) 写了一个语句,B4为录入的时间,为TRUE时不提交。。。这个怎么应用呢
    2021-11-17 09:50 
  • 檬茶茶 檬茶茶 回复 chyou(提问者) 已修改回答
    2021-11-17 10:10 
  • 檬茶茶 檬茶茶 回复 chyou(提问者) https://help.fanruan.com/finereport/doc-view-4058.html?source=4 你看下填报的提交条件
    2021-11-17 10:11 
  • 2关注人数
  • 274浏览人数
  • 最后回答于:2021-11-17 15:40
    请选择关闭问题的原因
    确定 取消
    返回顶部