Foxtable(狐表)用户栏目专家坐堂 → 记录不为空控制


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

主题:记录不为空控制

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
记录不为空控制  发帖心情 Post By:2018/3/13 9:37:00 [只看该作者]

请问老师,想让新增加记录的每一列都必须填写信息,如果有空格则提醒填写完整代码如何写呢?

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


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


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


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

一般是在beforeSaveDataRow事件处理的,检测要保存的行,每一列是否都赋值了,没有赋值就提示,不保存数据。

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/3/13 15:38:00 [只看该作者]

老师,就是这个意思,可代码怎么写呢?

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


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

以下是引用nxqtxwz在2018/3/13 15:38:00的发言:
老师,就是这个意思,可代码怎么写呢?

 

beforeSaveDataRow

 

方法一:

 

If e.DataRow.IsNull("第一列") orElse e.DataRow.Isnull("第二列") Then

    msgbox("第一第二列不能为空")

    e.cancel = true

End If

 

方法二:

 

For each dc As DataCol in e.DataTable.DataCols

    If e.dataRow.IsNull(dc.name) Then

        msgbox(dc.name & " 不能为空")

        e.cancel = true

        exit for

    End If

Next


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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/3/13 16:20:00 [只看该作者]

如果把这个代码写在增加记录按钮的事件中怎么写呢?下面的代码显示错误怎么办。

If e.DataRow.IsNull("物品名称") OrElse e.DataRow.Isnull("单位") OrElse e.DataRow.Isnull("规格型号") OrElse e.DataRow.Isnull("物品用途") OrElse e.DataRow.Isnull("申报人")OrElse e.DataRow.Isnull("数量") OrElse e.DataRow.Isnull("预估单价")  Then
    msgbox("请您填写完整申报单")
    e.cancel = True
Else
Tables("物品申报").AddNew()
End If


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


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

改成

 

Dim r As Row = Tables("物品申报").Current
If r.IsNull("物品名称") OrElse r.Isnull("单位") OrElse r.Isnull("规格型号") OrElse r.Isnull("物品用途") OrElse r.Isnull("申报人")OrElse r.Isnull("数量") OrElse r.Isnull("预估单价")  Then
    msgbox("请您填写完整申报单")
Else
    Tables("物品申报").AddNew()
End If

 


 回到顶部