以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  保存时检查子表明细和字段是否为空值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186110)

--  作者:青丘狐
--  发布时间:2023/4/6 17:07:00
--  保存时检查子表明细和字段是否为空值
按保存按钮时当前父表行有数据子表没有明细删除当前父表行保存,子表有明细则检查字段A字段B是否为空,是空就提示,不为空就保存。请问代码怎样写?
[此贴子已经被作者于2023/4/6 17:07:14编辑过]

--  作者:有点蓝
--  发布时间:2023/4/6 17:18:00
--  
Dim r As Row = tabes("父表").current
If r IsNot Nothing Then
    If r.DataRow.GetChildRows("子表").Count > 0 Then
        If DataTables("子表").Find("编号=\'" & r("编号") & "\' and (字段A is null or 字段B is null)") IsNot Nothing Then
            MsgBox("提示")
            Return
        End If 
    Else
        r.delete
    End If
End If

tabes("父表").save

--  作者:青丘狐
--  发布时间:2023/4/6 23:00:00
--  

With Tables("采购计划")
    If .Current Is Nothing Then
        Return
    End If
End With

If Tables("采购计划明细表").Current Is Nothing Then
    Tables("采购计划").Current.Delete
End If

Dim r As Row = Tables("采购计划").current
If r IsNot Nothing Then
    If r.DataRow.GetChildRows("采购计划明细表").Count > 0 Then
        If DataTables("采购计划明细表").Find("采购ID=\'" & r("采购ID") & "\' and (采购重量 Is Null or 含税金额 Is Null)") IsNot Nothing Then
            \'        If DataTables("采购计划明细表").Find("采购ID=\'" & r("采购ID") & "\' and (采购重量 IsNull or 含税金额 IsNull)") Is Nothing Then
            MessageBox.Show("采购计划明细表数据输入不完整!", "提示")
            Return
        Else
            r.delete
        End If
    End If
End If

Tables("采购计划明细表").Save
Tables("采购计划").save

 

 

采购重量 Is Null or 含税金额 Is Null  是空值时

MessageBox.Show("采购计划明细表数据输入不完整!", "提示") 这段代码没有执行,


--  作者:有点蓝
--  发布时间:2023/4/6 23:25:00
--  
说明不存在空值
--  作者:青丘狐
--  发布时间:2023/4/7 10:47:00
--  

按下保存按钮当  采购重量 含税金额   没有数据是空值时

MessageBox.Show("采购计划明细表数据输入不完整!", "提示") 这个提示框没有弹出

 

采购重量 含税金额   没有数据是空值时不要保存数据,

 

采购重量 含税金额   有数据不是空值时才要保存数据。

 

 

 


--  作者:有点蓝
--  发布时间:2023/4/7 10:54:00
--  
代码没有问题,找不到原因就上传实例测试