Foxtable(狐表)用户栏目专家坐堂 → [求助]获取为空字段的列名称


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

主题:[求助]获取为空字段的列名称

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
[求助]获取为空字段的列名称  发帖心情 Post By:2014/5/3 21:51:00 [只看该作者]

高手好,做了个提示,可以获取到位空的字段在第几行,还想获取为空字段的列名称,一直没有搞定,高手帮忙一下,

这是我之前的

 

MessageBox.Show("第 " & r.Index + 1 & " 行" 这里加代码"不允许为空,请检查数据!","提示")

 

谢谢!


 回到顶部
帅哥,在线噢!
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4734 积分:34468 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/5/3 21:54:00 [只看该作者]


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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/5/3 22:16:00 [只看该作者]

没有

 回到顶部
帅哥,在线噢!
y2287958
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4734 积分:34468 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/5/3 22:22:00 [只看该作者]

上个例子和详细说明吧

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/4 7:36:00 [只看该作者]

Dim s As String
Dim cs As String
For Each r As Row In Tables("表A").Rows
    cs = ""
    For Each c As String In "日期|序号|名称".Split("|")
        If r.IsNull(c) Then
            cs + = "【" & c & "】列"
        End If
    Next
    If cs > "" Then
        s + = "第 " & r.Index + 1 & " 行 " & cs & Vbcrlf
    End If
Next
MessageBox.Show(s,"以下各行的几个列值不能为空")

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/5/7 11:58:00 [只看该作者]

以下是引用lsy在2014-5-4 7:36:00的发言:
Dim s As String
Dim cs As String
For Each r As Row In Tables("表A").Rows
    cs = ""
    For Each c As String In "日期|序号|名称".Split("|")
        If r.IsNull(c) Then
            cs + = "【" & c & "】列"
        End If
    Next
    If cs > "" Then
        s + = "第 " & r.Index + 1 & " 行 " & cs & Vbcrlf
    End If
Next
MessageBox.Show(s,"以下各行的几个列值不能为空")

我的字段都是英文,提示的内容人家看不懂啊,怎么让提示中文?


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


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

以下是引用aduydgd在2014-5-7 11:58:00的发言:

我的字段都是英文,提示的内容人家看不懂啊,怎么让提示中文?

 

 

Dim s As String
Dim cs As String
For Each r As Row In Tables("表A").Rows
    cs = ""

    Dim arycs() As String = "date|num|name".Split("|")

    Dim arytips() As String = "日期|序号|名称".Split("|")
    For i As integer = 0 to arycs.Length - 1

        If r.IsNull(arycs(i)) Then
            cs + = "【" & arytips(i) & "】列"
        End If
    Next
    If cs > "" Then
        s + = "第 " & r.Index + 1 & " 行 " & cs & Vbcrlf
    End If
Next
MessageBox.Show(s,"以下各行的几个列值不能为空")

[此贴子已经被作者于2014-5-7 12:54:18编辑过]

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/5/10 9:44:00 [只看该作者]

大哥,这个提示,有空的记录会提示,提示完成后还会进行下面的操作,没有空记录时,也是会提示,只不过提示框里面没有提示内容,提示完成后也同样会执行下面的操作,这个怎么改改,提示存在空数据后,不能保存,如果不存在空数据,就直接保存就可以了

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/10 9:50:00 [只看该作者]

只是想提示YOU空值的列,不能保存的话.无须这么麻烦

BeforeSaveDataRow中

For Each dc As DataCol In e.DataTable.DataCols
    If e.DataRow.IsNull(dc.name) Then
       MessageBox.show(dc.name & "不能为空!")
       e.Cancel=True
        Exit For
    End If
Next

如果列名是英文,列标题是中文,那么提示用

For Each dc As DataCol In e.DataTable.DataCols
    If e.DataRow.IsNull(dc.name) Then
       MessageBox.show(dc.Caption & "不能为空!")
       e.Cancel=True
        Exit For
    End If
Next

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/5/10 11:49:00 [只看该作者]

以下是引用Bin在2014-5-10 9:50:00的发言:
只是想提示YOU空值的列,不能保存的话.无须这么麻烦

BeforeSaveDataRow中

For Each dc As DataCol In e.DataTable.DataCols
    If e.DataRow.IsNull(dc.name) Then
       MessageBox.show(dc.name & "不能为空!")
       e.Cancel=True
        Exit For
    End If
Next

如果列名是英文,列标题是中文,那么提示用

For Each dc As DataCol In e.DataTable.DataCols
    If e.DataRow.IsNull(dc.name) Then
       MessageBox.show(dc.Caption & "不能为空!")
       e.Cancel=True
        Exit For
    End If
Next

我检测空值字段不是全部的,是个别几个,要提示出哪一行和空值的列,有空值不能保存,没有空值就保存


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