以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  通过一系列判断,如何用IF语句  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161695)

--  作者:天宇科技
--  发布时间:2021/3/27 8:11:00
--  通过一系列判断,如何用IF语句

在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编辑过]

--  作者:天宇科技
--  发布时间: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

--  作者:有点蓝
--  发布时间: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

--  作者:有点蓝
--  发布时间: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

--  作者:天宇科技
--  发布时间:2021/3/27 9:40:00
--  
解决。谢谢蓝版