以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 如何批量删除Tables集合中某字段关联的全部行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136512) |
-- 作者:shilhoue -- 发布时间:2019/6/14 17:30:00 -- [求助] 如何批量删除Tables集合中某字段关联的全部行 如图,假如我在【项目登记】表中想删除任务号R06002的记录,如果同步删除【任务安排】(与[设备安排]表关联)、【样品登记】、【报告登记】中相同任务号的相关记录? |
-- 作者:有点甜 -- 发布时间:2019/6/14 18:21:00 -- 直接写代码删除,如
http://www.foxtable.com/webhelp/scr/0394.htm
|
-- 作者:shilhoue -- 发布时间:2019/6/15 6:39:00 -- 谢谢甜版,不过我不是所有的表都有这个任务号的相关记录,只有【业务登记】、【任务安排】、【设备安排】这三个表有,我按如下代码删除这三个表中的记录,出现String不能转换为Boolen类型的报错信息,请问我这么写代码对么,
Dim rwh As String = Tables("业务登记").Current("任务号") For Each tb As DataTable In DataTables If tb.Name ="业务登记" Or "任务安排" Or "设备安排" Then tb.DeleteFor("[任务号] = \'" & rwh & "\'") End If Next [此贴子已经被作者于2019/6/15 7:11:47编辑过]
|
-- 作者:rjh4078 -- 发布时间:2019/6/15 7:51:00 -- 不能这么or 可以这么写 Dim rwh As String = Tables("业务登记").Current("任务号") For Each tb As DataTable In DataTables if "业务登记任务安排设备安排".contains(tb.name) then \'\'\'If tb.Name ="业务登记" Or "任务安排" Or "设备安排" Then tb.DeleteFor("[任务号] = \'" & rwh & "\'") End If Next |
-- 作者:有点蓝 -- 发布时间:2019/6/15 8:36:00 -- dim tns() as string = {业务登记","任务安排","设备安排} For Each tn as string in tns DataTables(tn).DeleteFor("[任务号] = \'" & rwh & "\'") Next |
-- 作者:shilhoue -- 发布时间:2019/6/15 14:54:00 -- 谢谢,大神果然是大神。 |