以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  父表和子表同时加载的错误提示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22439)

--  作者:erdbeer
--  发布时间:2012/8/13 10:43:00
--  父表和子表同时加载的错误提示

定单 和 定单明细,   通过  合同号 和 定单号关联

 

定单表通过目录树加载

 

Dim Value()As String
Dim Filter As String
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        Filter ="[合同号] = \'" & Value(0) & "\'"     
        

    Case 1
        Filter ="[合同号] = \'" & Value(0) & "\' And [定单号] = \'" & Value(1) & "\'"
            End Select
DataTables("定单").LoadFilter = Filter
DataTables("定单").Load()

 

 

将 定单表 的AfterLoad事件设置为

 

If DataTables("定单").DataRows.Count = 0 Then \'如果订单表没有数据
    DataTables("定单明细").LoadFilter = "定单号 Is Null" \'不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("定单").DataRows
        ids = ids & "," & dr("定单号")
    Next
    ids= ids.Trim(",")
    DataTables("定单明细").LoadFilter = "定单号 In (" & ids & ")"
End If
DataTables("定单明细").Load()

 

 

在定单表加载时,出现这个错误提示


图片点击可在新窗口打开查看此主题相关图片如下:jietu.jpg
图片点击可在新窗口打开查看

 

请教大家 ,这个是什么地方的问题啊

 

 

 

[此贴子已经被作者于2012-8-13 10:49:31编辑过]

--  作者:czy
--  发布时间:2012/8/13 10:51:00
--  
是不是定单表有空行?
--  作者:erdbeer
--  发布时间:2012/8/13 10:55:00
--  
没有的
--  作者:czy
--  发布时间:2012/8/13 11:05:00
--  

定单号是字符型还是数值型

你现在的代码主表的定单号是字符,而明细表是数值


--  作者:erdbeer
--  发布时间:2012/8/13 11:15:00
--  
字符型
--  作者:czy
--  发布时间:2012/8/13 11:40:00
--  

这样试试

 

For Each dr As DataRow In DataTables("定单").DataRows
    ids = ids & "\',\'" & dr("定单号")
Next
If ids <> "" Then
    ids = ids.Trim("\'").Trim(",")
    DataTables("定单明细").LoadFilter = "定单号 In (" & ids & "\')"
End If