以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关联表空值的判断  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=33449)

--  作者:lsf5138
--  发布时间:2013/5/18 12:07:00
--  [求助]关联表空值的判断
请问 可否对关联表中的某列的所有行进行空值的判断?


--  作者:Bin
--  发布时间:2013/5/18 12:09:00
--  
你直接到列所在的表的事件里进行判断就行.
--  作者:lsf5138
--  发布时间:2013/5/18 12:27:00
--  
是这样的,订单表和订单明细表用订单ID关联,都有单价列,
现要判断订单明细表的所有记录行的单价列都如果不为空,订单表的单价列才能输入值。
因为如果用重量计价就用订单表的单价列,如果用产品计价就用订单明细表的单价列,只能二选一!

找不到相关代码!

--  作者:zhengboxin
--  发布时间:2013/5/18 12:51:00
--  

您这种问题其实应该是逻辑上更重要点,我个人觉得您还不如在订单单身加个字段,按重量还是按数量,

毕竟有时候出现同一加工商既有称重的,也有计数的,这样的话灵活点!通过判断选了按重量还是按数量去

调用相应的关联单价


--  作者:lsf5138
--  发布时间:2013/5/18 13:10:00
--  
后道流程,产品售价才要调用单价,只能调用其一!
--  作者:XYT
--  发布时间:2013/5/18 14:14:00
--  
以下是引用lsf5138在2013-5-18 12:27:00的发言:
是这样的,订单表和订单明细表用订单ID关联,都有单价列,
现要判断订单明细表的所有记录行的单价列都如果不为空,订单表的单价列才能输入值。
因为如果用重量计价就用订单表的单价列,如果用产品计价就用订单明细表的单价列,只能二选一!

找不到相关代码!

If e.DataCol.Name = "品名" Then \'如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
        e.
DataRow("单价") = Nothing \'那么清空此行单价列的内容
   
Else
        Dim
dr As DataRow
       
\'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr =
DataTables("产品").Find("[品名] = \'" & e.NewValue & "\'")
        If
dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            e.
DataRow("单价") = dr("单价")
        End
If
    End
If
End
If

参考下吧


--  作者:lsf5138
--  发布时间:2013/5/18 18:13:00
--  
是这样的,订单表和订单明细表用订单ID关联,都有单价列,
现要判断订单明细表的所有记录行的单价列如果都不为空,订单表的单价列才能输入值。
因为如果用重量计价就用订单表的单价列,如果用产品计价就用订单明细表的单价列,只能二选一!

找不到相关代码!

--  作者:有点甜
--  发布时间:2013/5/18 21:31:00
--  

你可以设置订单表的prepareEdit事件:

 

For Each dr As DataRow  in e.DataRow.getChildRows("订单明细")

   if dr.Isnull("单价") = False Then

       e.Cancel = true

        Exit For

   End If

Next


--  作者:lsf5138
--  发布时间:2013/5/19 8:59:00
--  


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单价录入.rar

我是用窗口控件输入,有办法吗?

还有8楼代码有问题!

图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2013-5-20 9:36:46编辑过]

--  作者:lsf5138
--  发布时间:2013/5/20 9:42:00
--  
问题没解,不能沉呀!