以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请给我一段代码!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=31736)

--  作者:谢天钰
--  发布时间:2013/4/19 16:26:00
--  [求助]请给我一段代码!
保存前判断多列是否有空值 没有空值才保存

我写的应该是逻辑关系不对
Dim lmc As String = "血压,心率"
Dim sz() As String
sz = lmc.Split(",")
For i As Integer = 0 To 1
    If Tables("高随访").Current.IsNull(sz(i)) Then
        MessageBox.Show("" & lmc.split(",")(i) & "不许为空","提示",MessageBoxButtons.OK)
        Tables("高随访").Current.Locked = False
    ElseIf Tables("高随访").Current(sz(i)) IsNot Nothing Then
        Tables("高随访").Current.Save()
        DataTables("用药情况").Save()
        Tables("高随访").Current.Locked = True
        Tables("用药情况").Current.Locked = True
    End If
Next

--  作者:jspta
--  发布时间:2013/4/19 16:30:00
--  
Dim lmc As String = "血压,心率"
Dim sz() As String
sz = lmc.Split(",")
For i As Integer = 0 To 1
    If Tables("高随访").Current.IsNull(sz(i)) Then
        MessageBox.Show("" & lmc.split(",")(i) & "不许为空","提示",MessageBoxButtons.OK)
        Tables("高随访").Current.Locked = False
        return
     End If
Next
     Tables("高随访").Current.Save()
        DataTables("用药情况").Save()
        Tables("高随访").Current.Locked = True
        Tables("用药情况").Current.Locked = True

--  作者:Bin
--  发布时间:2013/4/19 16:31:00
--  
看上去没发现代码有错啊? 你用起来有什么问题?
--  作者:谢天钰
--  发布时间:2013/4/19 16:40:00
--  
到数组1的位置 
锁定了行
如果第一个数组为空的话 就不会锁定!

--  作者:Bin
--  发布时间:2013/4/19 16:42:00
--  
以下是引用谢天钰在2013-4-19 16:40:00的发言:
到数组1的位置 
锁定了行
如果第一个数组为空的话 就不会锁定!

参考2楼代码
--  作者:谢天钰
--  发布时间:2013/4/19 16:43:00
--  
2楼的也锁定了~!~!
--  作者:谢天钰
--  发布时间:2013/4/19 16:44:00
--  
不行啊,还是锁定行了!
--  作者:谢天钰
--  发布时间:2013/4/19 16:44:00
--  
我是想如果有空值就不执行下面保存以及锁定的代码!
--  作者:Bin
--  发布时间:2013/4/19 16:58:00
--  
Dim lmc As String = "血压,心率"
Dim sz() As String
sz = lmc.Split(",")
For i As Integer = 0 To 1
    If Tables("高随访").Current.IsNull(sz(i)) Then
        MessageBox.Show("" & lmc.split(",")(i) & "不许为空","提示",MessageBoxButtons.OK)
        Tables("高随访").Current.Locked = False
        Exit For
    ElseIf Tables("高随访").Current(sz(i)) IsNot Nothing Then
        Tables("高随访").Current.Save()
        DataTables("用药情况").Save()
        Tables("高随访").Current.Locked = True
        Tables("用药情况").Current.Locked = True
    End If
Next

--  作者:jijianjsj
--  发布时间:2013/4/19 17:06:00
--  
我觉得你可以分开写这段,在 Tables("高随访")  的BeforeSave事件中判断是否有空值,在按钮(保存)中写入最后要保存的表。