Foxtable(狐表)用户栏目专家坐堂 → 如何做出可选择地删除多行、多表按钮?


  共有1511人关注过本帖树形打印复制链接

主题:如何做出可选择地删除多行、多表按钮?

帅哥哟,离线,有人找我吗?
旭日生
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
如何做出可选择地删除多行、多表按钮?  发帖心情 Post By:2017/10/13 17:10:00 [只看该作者]


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

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

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 


 回到顶部
帅哥哟,离线,有人找我吗?
旭日生
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
甜版主,好象有点误会我的意思  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部