以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 某列为0值,删除该行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=73674) |
-- 作者:bestorange -- 发布时间:2015/8/24 16:19:00 -- 某列为0值,删除该行 突然忘了个很简单的基础代码。。。。 自动填充的多行数据中,如果其中一行指定列下的值为0,则自动删除该行 突然一下还真想不起来该怎么写了 If e.Col.Name = "账目金额" Then |
-- 作者:bestorange -- 发布时间:2015/8/24 16:38:00 -- 是e.Cancel = True?
|
-- 作者:大红袍 -- 发布时间:2015/8/24 16:39:00 -- For i As Integer = Tables("表A").rows.count - 1 To 0 Step -1 Dim r As Row = Tables("表A").rows(i) If r("账目金额") = 0 Then r.Delete() End If Next |
-- 作者:bestorange -- 发布时间:2015/8/24 16:40:00 -- If e.DataCol.Name = "名目" Then If e.NewValue Is Nothing Then e.Cancel = True End If End If |
-- 作者:大红袍 -- 发布时间:2015/8/24 16:55:00 -- 什么情况下的处理啊?你不能控制填充的时候,就把为0的筛选出来?
如果要整体处理,做个按钮,看3楼代码 |
-- 作者:bestorange -- 发布时间:2015/8/24 17:15:00 -- 以下是引用大红袍在2015/8/24 16:55:00的发言:
什么情况下的处理啊?你不能控制填充的时候,就把为0的筛选出来?
如果要整体处理,做个按钮,看3楼代码 。。。。是呀 是我死脑筋。。。应该改数据来源 修改资料录入窗口的确定“按钮”就可以了吧
Dim mr As Row =Tables("学员一览表").Current Dim nml()As String = {"姓名","听力新缴","陪练等级"} \'A表数据来源列 |
-- 作者:大红袍 -- 发布时间:2015/8/24 17:23:00 -- 直接判断,如,其余的一样。
Dim mr As Row =Tables("学员一览表").Current If mr("培训新缴") > 0 Then Dim dr2 As Row = Tables("经营相关账目").AddNew End If |
-- 作者:bestorange -- 发布时间:2015/8/24 17:30:00 -- 是是是,以前您教过类似的判断语句,是我没举一反三。 明白了! 多谢多谢 |
-- 作者:bestorange -- 发布时间:2015/8/24 17:39:00 -- 按您的例子改动完第一组以后,突然发现是不是我这段编码里很多多余的毫无意义的句子?如红色字体部分,定义的一堆dr都是没有必要的??? 都直接已开头第一句mr判断就可以了?
Dim mr As Row =Tables("学员一览表").Current Dim nmc()As String = {"姓名","乐理新缴","乐理程度"} \'A表数据来源列 |
-- 作者:大红袍 -- 发布时间:2015/8/24 17:43:00 -- 你可以不定义,直接用mr即可 |