以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动删除行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134989) |
-- 作者:13775189031 -- 发布时间:2019/5/14 16:18:00 -- 自动删除行 请教:以下代码 自动生成行没问题,自动删除行没反应,是什么问题 Select Case e.DataCol.name Case "编制" If e.DataRow("编制") = False Then DataTables("项目用无损检验资质清单").DeleteFor("生产令号 = \'" & e.DataRow("生产令号") & "\'And 机组 = \'" & e.DataRow("机组") & "\'And 资质名称 = \'" & e.DataRow("编制人资质") & "\' And 姓名 = \'" & e.DataRow("编制人") & "\'And 等级 = \'" & e.DataRow("编制人等级") & "\'") Else Dim ndr As DataRow = DataTables("项目用无损检验资质清单").Find("生产令号 = \'" & e.DataRow("生产令号") & "\'And 机组 = \'" & e.DataRow("机组") & "\'And 资质名称 = \'" & e.DataRow("编制人资质") & "\' And 姓名 = \'" & e.DataRow("编制人") & "\'And 等级 = \'" & e.DataRow("编制人等级") & "\'") If ndr Is Nothing Then Dim nr As Row = Tables("项目用无损检验资质清单").AddNew nr.Move(0) ndr = nr.DataRow End If ndr("生产令号") = e.DataRow("生产令号") ndr("项目名称") = e.DataRow("项目名称") ndr("机组") = e.DataRow("机组") ndr("姓名") = e.DataRow("编制人") ndr("资质名称") = e.DataRow("编制人资质") ndr("等级") = e.DataRow("编制人等级") End If End Select
|
-- 作者:有点甜 -- 发布时间:2019/5/14 16:29:00 -- 弹出这个信息,看条件是否正确
msgbox("生产令号 = \'" & e.DataRow("生产令号") & "\'And 机组 = \'" & e.DataRow("机组") & "\'And 资质名称 = \'" & e.DataRow("编制人资质") & "\' And 姓名 = \'" & e.DataRow("编制人") & "\'And 等级 = \'" & e.DataRow("编制人等级") & "\'")
然后再在命令窗口执行
Tables("项目用无损检验资质清单").filter = 弹出的条件
看是否可以正常筛选数据出来
|
-- 作者:13775189031 -- 发布时间:2019/5/14 16:49:00 -- 信息可以弹出来 |
-- 作者:13775189031 -- 发布时间:2019/5/14 16:51:00 -- 弹出的条件 怎么写? |
-- 作者:有点甜 -- 发布时间:2019/5/14 16:57:00 -- 以下是引用13775189031在2019/5/14 16:51:00的发言:
弹出的条件 怎么写?
弹出窗口那里ctrl+c复制内容,粘贴到命令窗口那里测试。
贴出你复制的内容,发上来看看。
|
-- 作者:13775189031 -- 发布时间:2019/5/14 17:03:00 -- --------------------------- 生产采购管理系统.DataTable.AtnVxpq9vNIx5hvGG --------------------------- 生产令号 = \'17F8-5\'And 机组 = \'3#\'And 资质名称 = \'VT\' And 姓名 = \'\'And 等级 = \'\' --------------------------- 确定 --------------------------- [此贴子已经被作者于2019/5/14 17:06:24编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/14 17:08:00 --
DataTables("项目用无损检验资质清单").DeleteFor("生产令号 = \'" & e.DataRow("生产令号") & "\'And 机组 = \'" & e.DataRow("机组") & "\'And 资质名称 = \'" & e.DataRow("编制人资质") & "\' And 姓名 = \'" & e.DataRow("编制人") & "\'And 等级 = \'" & e.DataRow("编制人等级") & "\'")
改成
Dim filter As String = "1=1" If e.DataRow("编制人等级") = Nothing Then filter &= " and 等级 is null" Else filter &= " and 等级 = \'" & e.DataRow("编制人等级") & "\'" End If If e.DataRow("编制人") = Nothing Then filter &= " and 姓名 is null" Else filter &= " and 姓名 = \'" & e.DataRow("编制人") & "\'" End If
......
msgbox(filter) DataTables("项目用无损检验资质清单").DeleteFor(filter)
[此贴子已经被作者于2019/5/14 17:08:31编辑过]
|