Foxtable(狐表)用户栏目专家坐堂 → 通过一系列判断,如何用IF语句


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

主题:通过一系列判断,如何用IF语句

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


加好友 发短信
等级:一尾狐 帖子:475 积分:4058 威望:0 精华:0 注册:2018/5/13 15:18:00
通过一系列判断,如何用IF语句  发帖心情 Post By:2021/3/27 8:11:00 [只看该作者]

在BeforeSaveDataRow事件中,我写了如下代码。


我想实现的功能是,如果能成功保存了,就弹出提示“MessageBox.Show("已通过初步的数据效验,没有发现明显错误,已成功保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)”,应该怎么写?



If  CStr(e.DataRow("证件号码")).Length <> 18 Then

    MessageBox.Show("身份证号码位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

Else

End If


If CStr(e.DataRow("证件号码")).Length <> 18 Then

    MessageBox.Show("身份证号码位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

    

Else If  e.DataRow("出生日期").Length <> 8 Then

    

    MessageBox.Show("出生日期位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

   

Else If  e.DataRow("出生日期").Length <> 8 Then

    

    MessageBox.Show("出生日期位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

Else If  e.DataRow("批准时间").Length <> 8 Then

    

    MessageBox.Show("批准时间位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

End If



If  e.DataRow.IsNull("行政区域")

    MessageBox.Show("行政区域不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("证件号码")

    MessageBox.Show("证件号码不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("证件类型")

    MessageBox.Show("证件类型不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("姓名")

    MessageBox.Show("姓名不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("性别")

    MessageBox.Show("性别不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("出生日期")

    MessageBox.Show("出生日期不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("职场系列")

    MessageBox.Show("职场系列不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("职场级别")

    MessageBox.Show("职场级别不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("职场名称")

    MessageBox.Show("职场名称不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("评审活动是否设置评审专业")

    MessageBox.Show("评审活动是否设置评审专业不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("评审专业名称")

    MessageBox.Show("评审专业名称不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("本地评审专业名称")

    MessageBox.Show("本地评审专业名称名称不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

    

ElseIf e.DataRow.IsNull("发证机构")

    MessageBox.Show("发证机构不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("评审机构")

    MessageBox.Show("评审机构不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

ElseIf e.DataRow.IsNull("批准时间")

    MessageBox.Show("批准时间不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

    e.Cancel = True

End If


If e.DataRow("评审时间").Length > 0 Then

    If  e.DataRow("评审时间").Length <> 8 Then

        MessageBox.Show("评审时间位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

        e.Cancel = True

    End If

End If


If e.DataRow("备注") <> "确认" And e.DataRow("备注") <> "过渡"

    If e.DataRow.IsNull("职场文件文号")

        MessageBox.Show("职场文件文号不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

        e.Cancel = True

    End If

End If


[此贴子已经被作者于2021/3/27 8:11:57编辑过]

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


加好友 发短信
等级:一尾狐 帖子:475 积分:4058 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2021/3/27 8:32:00 [只看该作者]

我想下面这样改造代码,但最后一条语句Else没有执行。
Else If e.DataRow("备注") <> "确认" And e.DataRow("备注") <> "过渡"
    If e.DataRow.IsNull("职场文件文号")
        MessageBox.Show("职场文件文号不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
        e.Cancel = True
    End If

改造代码如下
________________________________________________________________________________________
If  CStr(e.DataRow("证件号码")).Length <> 18 Then
    MessageBox.Show("身份证号码位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If CStr(e.DataRow("证件号码")).Length <> 18 Then
    MessageBox.Show("身份证号码位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If  e.DataRow("出生日期").Length <> 8 Then
    
    MessageBox.Show("出生日期位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
    
Else If  e.DataRow("出生日期").Length <> 8 Then
    
    MessageBox.Show("出生日期位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If  e.DataRow("批准时间").Length <> 8 Then
    
    MessageBox.Show("批准时间位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("行政区域")
    MessageBox.Show("行政区域不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("证件号码")
    MessageBox.Show("证件号码不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("证件类型")
    MessageBox.Show("证件类型不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("姓名")
    MessageBox.Show("姓名不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("性别")
    MessageBox.Show("性别不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("出生日期")
    MessageBox.Show("出生日期不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("职场系列")
    MessageBox.Show("职场系列不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("职场级别")
    MessageBox.Show("职场级别不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("职场名称")
    MessageBox.Show("职场名称不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("评审活动是否设置评审专业")
    MessageBox.Show("评审活动是否设置评审专业不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("评审专业名称")
    MessageBox.Show("评审专业名称不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("本地评审专业名称")
    MessageBox.Show("本地评审专业名称名称不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
    
Else If e.DataRow.IsNull("发证机构")
    MessageBox.Show("发证机构不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("评审机构")
    MessageBox.Show("评审机构不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
Else If e.DataRow.IsNull("批准时间")
    MessageBox.Show("批准时间不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Cancel = True
    
    
Else If e.DataRow("评审时间").Length > 0 Then
    If  e.DataRow("评审时间").Length <> 8 Then
        MessageBox.Show("评审时间位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
        e.Cancel = True
    End If
    
Else If e.DataRow("备注") <> "确认" And e.DataRow("备注") <> "过渡"
    If e.DataRow.IsNull("职场文件文号")
        MessageBox.Show("职场文件文号不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
        e.Cancel = True
    End If
Else
    MessageBox.Show("已通过初步的数据效验,没有发现明显错误,已成功保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/27 9:06:00 [只看该作者]

Else If e.DataRow("评审时间").Length <> 8 Then
        MessageBox.Show("评审时间位数不正确,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
        e.Cancel = True
Else If e.DataRow("备注") <> "确认" And e.DataRow("备注") <> "过渡" andalso e.DataRow.IsNull("职场文件文号")
        MessageBox.Show("职场文件文号不能为空,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
        e.Cancel = True
Else
    MessageBox.Show("已通过初步的数据效验,没有发现明显错误,已成功保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/27 9:09:00 [只看该作者]

放在这里提示不合理。因为这个是保存前事件,保存的时候可能会因为其它原因而导致保存失败。正确应该是做一个保存按钮

DataTables("产品").save
If DataTables("产品").HasChanges Then
  
MessageBox.Show("保存失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
else
MessageBox.Show("已通过初步的数据效验,没有发现明显错误,已成功保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End
 
If

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


加好友 发短信
等级:一尾狐 帖子:475 积分:4058 威望:0 精华:0 注册:2018/5/13 15:18:00
  发帖心情 Post By:2021/3/27 9:40:00 [只看该作者]

解决。谢谢蓝版

 回到顶部