以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  2表对比删除数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=130112)

--  作者:蓝蚂蚁
--  发布时间:2019/1/13 22:23:00
--  2表对比删除数据
窗口中,按钮1的代码:
If  Tables.Contains("临时表")=True Then
    For Each r As Row In Tables("计划单").rows
        Dim dc As DataRow =DataTables("临时表").Find("目录编号=\'" & r("目录编号") & "\'") \'在临时表中查找
        If dc IsNot Nothing Then \'如果临时表有
            Dim dr As DataRow = DataTables("计划单").Find("[目录编号] = \'"& dc("目录编号") &"\'") ‘在计划单中查找该条记录
            If dr IsNot Nothing Then \'如果找到,则定位该条信息,目的是能看到该条信息
                Dim wz As Integer = Tables("计划单").FindRow(dr)
                If wz >= 0 Then
                    Tables("窗口_Table1").Position = wz
                End If
            End If
            Dim Result As DialogResult
            Result=MessageBox.Show("该耗材前计划未送货"& vbcrlf  &"名称:"& dc("通用名称") &"规格型号:"& dc("规格型号") &""& vbcrlf  &"数量:"& dc("未送数量") &""& dc("单位") &"!"& vbcrlf  &"是否继续打这个耗材的计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
            If Result = DialogResult.No Then
                DataTables("计划单").DeleteFor("[目录编号] = \'"& dc("目录编号") &"\'")
            Else
                e.Cancel = True
            End If
        End If
    Next
Else
    MessageBox.Show("无[临时表]的表!", "提示")
End If
说明:从计划单表中的第一条到最后一条,历遍目录编码,每条目录编码都在临时表中找出相同目录编码的记录。如果在临时表中找到该目录编码,然后在窗口_Table1(绑定计划单的副本表)定位,之后提示相关信息,在弹出的对话窗口中,点击否,则在计划单中(或窗口_Table1)删除该条记录,点击是就不删该条记录。
现在问题:在实际操作中,如果临时表中有相同的目录编码,会在窗口_Table1中跳开,要点击按钮1三次,才能删除(假如每次弹出对话框,都点击否)

--  作者:有点甜
--  发布时间:2019/1/13 22:39:00
--  

删除要这样删

 

http://www.foxtable.com/help/topics/0599.htm

 


--  作者:蓝蚂蚁
--  发布时间:2019/1/13 22:51:00
--  
看了帮助,是不是把:DataTables("计划单").DeleteFor("[目录编号] = \'"& dc("目录编号") &"\'")  改成下面的代码:
Tables("窗口_Table1").Current.Delete()
但执行代码跟反应的问题一样,烦老师指点
[此贴子已经被作者于2019/1/13 22:50:56编辑过]

--  作者:有点甜
--  发布时间:2019/1/13 23:04:00
--  

认认真真看帮助文档啊。从后面往前面循环和删除啊

 

http://www.foxtable.com/help/topics/0599.htm

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=130085