以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何做出可选择地删除多行、多表按钮?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107985)

--  作者:旭日生
--  发布时间:2017/10/13 17:10:00
--  如何做出可选择地删除多行、多表按钮?

图片点击可在新窗口打开查看此主题相关图片如下:1401-2000.jpg
图片点击可在新窗口打开查看

请版主帮忙做两个特别有用的按钮代码:

一是可选择删除不含某些字符的按钮:
1、 提示输入字符"XXXX",如"ABCD",或"EF".
2 、凡是在A1表中AH列中,A3表中DH列中,不含有上面所输入的字符,两个表中流水号相同的数据,同时删除.

二是可选择输入流水号的按钮:
1、批量输入多个流水号.
2、 同时删除A1表 A3表中上一步批量输入的所有流水号.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.foxdb

--  作者:有点甜
--  发布时间:2017/10/13 17:35:00
--  

1、

 

Dim Val As String = ""
If InputValue(Val, "提示", "请输入字符:") Then
    Dim t1 As Table = Tables("A1")
    Dim t3 As Table = Tables("A3")
    For i As Integer = t1.Rows.count-1 To 0 Step -1
        Dim r As Row = t1.Rows(i)
        If r("ah").contains(val) Then
            Dim fdr As DataRow = t3.DataTable.find("lsh = \'" & r("lsh") & "\' and dh = \'" & r("ah") & "\'"
            If fdr IsNot Nothing Then
                r.delete
                fdr.delete
            End If
        End If
    Next
    For i As Integer = t3.Rows.count-1 To 0 Step -1
        Dim r As Row = t3.Rows(i)
        If r("dh").contains(val) Then
            r.delete
        End If
    Next
   
End If

 

 

2、

 

Dim Val As String = ""
If InputValue(Val, "提示", "请输入字符:") Then
    Dim t1 As Table = Tables("A1")
    Dim t3 As Table = Tables("A3")
    val = val.Replace(",", "\',\'")
    t1.DataTable.DeleteFor("lsh in (\'" & val & "\')")
    t3.DataTable.DeleteFor("lsh in (\'" & val & "\')")
   
End If

 


--  作者:旭日生
--  发布时间:2017/10/14 7:38:00
--  甜版主,好象有点误会我的意思
谢谢甜版主及时回复!不过,好象误会了我的意思。
1、一个一个流水号删除,我已经做出来,但有时候效率不高。我需要的是一批一批流水号地删除。类似图2。
2、诉讼案卷数字化著录有特殊性,多表、多行。因此,有时需要删除不包含指定字符的多表、多行。类似图1。
如果能帮助写出同时删除表1、表2、表3、表4的代码,更加感谢!


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.foxdb



图片点击可在新窗口打开查看此主题相关图片如下:image 1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:image 2.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2017/10/14 7:56:12编辑过]

--  作者:有点蓝
--  发布时间:2017/10/14 9:33:00
--  
2楼的用法就是,请仔细理解并测试。

包含用:r("ah").contains(val) 
那么不包含就是:r("ah").contains(val) = false

如果是单表操作,直接删除不包含的录入的数据直接这样

Dim Val As String = ""
If InputValue(Val, "提示", "请输入字符:") Then
    Tables("A1").DataTable.DeleteFor("AH not like \'%" & Val & "%\'")
End If