Foxtable(狐表)用户栏目专家坐堂 → 有劳


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

主题:有劳

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
有劳  发帖心情 Post By:2015/6/28 15:05:00 [只看该作者]

大师:如实例
请问如何删除表中品名行以上、合计行之外的行,也就是说模糊删除第一个四列皆有数据的行以上,及最后一个四列皆有数据的行以下的所有行。不查找具体某个值。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.zip


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/28 15:09:00 [只看该作者]

DataTables("表A").DeleteFor("第一列 is null or 第二列 is  null or 第三列 is null or 第四列 is null")

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/6/28 15:19:00 [只看该作者]

不行,中间有可能某一行某一列没有数据,此行不能删除,也就是说此数据区域不管数据不全,不能删除。

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/6/28 15:26:00 [只看该作者]

也就是说含品名的行及含合计的行,四列肯定数据皆有,其他行不一定。但一定的是:此区域之外的行肯定数据不全。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/28 15:27:00 [只看该作者]

Dim sidx As Integer = Tables("表A").FindRow("第一列 = '品名'")
Dim eidx As Integer = Tables("表A").FindRow("第一列 = '合计'")
For i As Integer = Tables("表A").Rows.Count - 1 To 0 Step -1
    If i < sidx OrElse i > eidx Then
         Tables("表A").Rows(i).delete
    End If
Next


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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/6/28 15:35:00 [只看该作者]

谢谢!不是如此要求。
要模糊删除,第一列不能准确确定数据记录。
只能根据两个绝对条件,查找第一个四列皆有数据,和最好一个皆有数据的行。定位后删除。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/28 15:40:00 [只看该作者]


Dim fdr As DataRow = DataTables("表A").Find("第一列 is not null and 第二列 is not null and 第三列 is not null and 第四列 is not null", "_sortkey")
Dim sidx As Integer = Tables("表A").FindRow(fdr)
fdr = DataTables("表A").Find("第一列 is not null and 第二列 is not null and 第三列 is not null and 第四列 is not null","_sortkey desc")
Dim eidx As Integer = Tables("表A").FindRow(fdr)
For i As Integer = Tables("表A").Rows.Count - 1 To 0 Step -1
    If i < sidx OrElse i > eidx Then
         Tables("表A").Rows(i).delete
    End If
Next
[此贴子已经被作者于2015/6/28 16:07:55编辑过]

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/6/28 15:48:00 [只看该作者]

谢谢!就是我要的效果,但是实例中是四列,能否劳驾完善一下,遍列列,因为列数也不一定!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/28 15:48:00 [只看该作者]

 自己遍历

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/6/28 16:04:00 [只看该作者]

您写的经典,作为函数收集。
强烈建议您写一本狐表编程技巧汇编,含实用性很强的函数或过程,实用的窗体?我预定。

 回到顶部
总数 13 1 2 下一页