以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  订单表增加一行检查列不能为空  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101963)

--  作者:binabc2004
--  发布时间:2017/6/10 17:42:00
--  订单表增加一行检查列不能为空
请教大家,订单表增加一行检查多种类型列不能为空,如果不把所有类型都填写好不能操作其它动作,只能删除这一行才能操作。订单表列属性有字符
型,整数,日期类,应该如何编写代码。谢谢大家帮忙!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试表.rar



--  作者:有点蓝
--  发布时间:2017/6/10 17:51:00
--  
类似

Dim r As Row = Tables("订单表").Current
If r IsNot Nothing
    Dim cls() As String = {"订单编号","客户","客户订单编号","款号"}
    For Each c As String In cls
        If r.IsNull(c) Then
            msgbox(c & "不能为空")
            Return
        End If
    Next
End If

--  作者:binabc2004
--  发布时间:2017/6/10 20:49:00
--  
代码放在那里可以实行不填写好资料不能操作其它操作
--  作者:有点色
--  发布时间:2017/6/11 15:48:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/0644.htm

 


--  作者:binabc2004
--  发布时间:2017/6/12 13:43:00
--  
谢谢!
        我想在MessageBox.Show("订单号,订单日期,交货日期不能为空!")添加显视当前订单编号值应该如何添加。

If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行
        If r.IsNull("订单编号") Or r.IsNull("订单日期") Or r.IsNull("交货日期")  Then  \'如果编号为空
            MessageBox.Show("订单号,订单日期,交货日期不能为空!")
            e.Cancel = True
        End If
    End If
End If

--  作者:有点色
--  发布时间:2017/6/12 14:21:00
--  
If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行
        If r.IsNull("订单编号") OrElse r.IsNull("订单日期") OrElse r.IsNull("交货日期")  Then  \'如果编号为空
            MessageBox.Show("订单编号:[" & r("订单编号") & "]行 订单号,订单日期,交货日期不能为空!")
            e.Cancel = True
        End If
    End If
End If

--  作者:binabc2004
--  发布时间:2017/6/16 14:09:00
--  
谢谢!
         请问我转换到其它表还是不会有提示,没有填写好还不能转换到其它表应该在那里加入代码。

--  作者:有点色
--  发布时间:2017/6/16 15:17:00
--  

 项目事件,maintableChanging事件

 

Dim r As Row = Tables(e.OldTableName).Current
If r.IsNull("订单编号") OrElse r.IsNull("订单日期") OrElse r.IsNull("交货日期")  Then  \'如果编号为空
    MessageBox.Show("订单编号:[" & r("订单编号") & "]行 订单号,订单日期,交货日期不能为空!")
    e.Cancel = True
End If


--  作者:binabc2004
--  发布时间:2017/6/16 16:51:00
--  
还是不行,我选择关联表还是能进入去。选择其它表还出错误,不知原因。
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170616165009.jpg
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/6/16 18:11:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试表.table