填报时,怎么校验数据库已有数据

做ACC数据库填报,需要在提交时校验字段“入库主题”是否在数据库中已存在,如有重复需要有提示。

FineReport smile0223 发布于 2020-6-16 12:51
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
luojian0323Lv7资深互助
发布于2020-6-16 13:12(编辑于 2020-6-16 13:12)

参考

image.png


  • smile0223 smile0223(提问者) 如果是Access数据库也是这么填写吗,我把sql改成Access好像没什么反应
    2020-06-16 13:50 
  • luojian0323 luojian0323 回复 smile0223(提问者) 那你换成Access语法.
    2020-06-16 13:55 
  • luojian0323 luojian0323 回复 smile0223(提问者) 目的是查询当前字段在数据库的的记录是不是0,如果不是0,定义一个校验出错信息.
    2020-06-16 13:55 
  • smile0223 smile0223(提问者) 回复 luojian0323 好的 谢谢
    2020-06-16 14:11 
  • 正在崛起的大牛 正在崛起的大牛 回复 luojian0323 如果是只校验复选框选中的行数据该怎么修改js呢
    2021-10-28 09:42 
最佳回答
0
小县城Lv4见习互助
发布于2020-6-16 13:12

在填写栏位资料后,就可以做js判断是否已经有资料在数据库中了。

var zybck = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col, row: row}));  --获取行号和列号

var docno = zybck.getValue()   --获取单元格内容


var sql=" select count(1) from 表 where 1=1 and docno='"+docno+"'";  --sql 判断单号是否在表中已存在


  var a = FR.remoteEvaluate('sql("topprd", "' + sql + '", 1, 1)');    --赋值返回值。

if (a==0)     --判断返回值情况

{alert("输入的订单号+项次不存在请检查后输入!") 

contentPane.setCellValue(col, row, null);

return false;

}


最佳回答
0
snrtuemcLv8专家互助
发布于2020-6-16 13:13

使用sql函数,SQL("FRDemo","select count(*) from HT_HTXXZB where HTNum='"+C6+"'",1,1)<1

SQL函数-https://help.finereport.com/doc-view-846.html

image.png

SQL函数-https

最佳回答
0
wfok1987Lv6见习互助
发布于2020-6-16 14:08

inarray(主题, 数据库名.select(字段名, 条件 = 条件)) = 0  

  • 6关注人数
  • 1281浏览人数
  • 最后回答于:2020-6-16 14:08
    请选择关闭问题的原因
    确定 取消
    返回顶部