Foxtable(狐表)用户栏目专家坐堂 → [求助] 关于判断“包含”和“是否为空”的几个问题


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

主题:[求助] 关于判断“包含”和“是否为空”的几个问题

美女呀,离线,留言给我吧!
龙潭春早
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
[求助] 关于判断“包含”和“是否为空”的几个问题  发帖心情 Post By:2018/12/10 15:16:00 [只看该作者]

关于判断“包含”和“是否为空”的几个问题


请教:下面的判断和用法有问题吗?


If DataTable.DataCols.Contains("首付款_付款金额") Then


    If DataTable.DataCols.IsNotNull("首付款_付款金额") And _

        DataTable.DataCols.IsNull("二次付款_付款金额"Then

        DataTable.DataCols("二次付款_付款金额") = 0

       

    End If

End If


在代码编辑器中保存代码时,显示错误:


此主题相关图片如下:判断包含列名时出错.jpg
按此在新窗口浏览图片


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


加好友 发短信
等级:狐神 帖子:4627 积分:33767 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/12/10 15:19:00 [只看该作者]

DataTable.没有这些用法

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2018/12/10 15:37:00 [只看该作者]

要想做出以上的逻辑判断,老师能给个完整的代码吗?

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


加好友 发短信
等级:狐神 帖子:4627 积分:33767 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/12/10 15:52:00 [只看该作者]

If DataTables("表").DataCols.Contains("首付款_付款金额") Then
    Dim dr As DataRow = DataTables("表").DataRows(0)  '这里自己定
    If dr.Isnull("首付款_付款金额") = False AndAlso dr.Isnull("二次付款_付款金额")
        dr.Isnull("二次付款_付款金额") = 0
    End If
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/10 16:37:00 [只看该作者]

具体一点你的问题吧

 

If DataTables("表").DataCols.Contains("首付款_付款金额") Then
    Dim fdr As DataRow = DataTables("表").find("首付款_付款金额 is not null and 二次付款_付款金额 is null")
    If fdr IsNot Nothing Then
        msgbox("找到了")
    End If
End If

[此贴子已经被作者于2018/12/10 16:38:21编辑过]

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2018/12/10 17:29:00 [只看该作者]

想说的是:

1)任务:对多个表做相同的判断,用在 LoadUserSetting 事件中

          因为有多个表要做相同的判断,所以,代码中能否不体现具体的表名,而用一个通用的代码表示所有的表?

2)判断:当一个表的 “A列” 不为空、而 “B列” 为空时,给 “B列” 赋值为 “0”;

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/10 17:52:00 [只看该作者]

全局表事件,代码写到datacolchanged事件

 

http://www.foxtable.com/webhelp/scr/0671.htm

 


 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2018/12/10 21:16:00 [只看该作者]

嗯 研究了。

不过,根据上面 6楼 提到的任务和判断,甜老师能再给出一段代码吗?

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


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/10 21:30:00 [只看该作者]

Dim ts() As String = {"表A","表B"}

For Each t As String In ts
    DataTables(t).ReplaceFor("B列",0,"B列 is null and A列 is not null")
Next

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2018/12/11 13:17:00 [只看该作者]

哦 昨天晚上是蓝老师值班,谢谢啦!

不过,蓝老师,这段代码还是涉及到了具体的 “表A” 和 “表B”。

按照 6楼 的任务,想对 “多个表要做相同的判断,所以,代码中能否不体现具体的表名而用一个通用的代码表示所有的表?

表比较多的话,一个个的列举出来就很麻烦了。

所以,是否可以将代码:  DataTable.ReplaceFor("B列",0,"B列 is null and A列 is not null")

直接放到全局表事件 datacolchanged 之中呢?

这段代码前后,还需要有其它配合的代码吗?


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