以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  帮助里 “父表与子表同步加载” 的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=38358)

--  作者:gsnake
--  发布时间:2013/7/26 21:54:00
--  帮助里 “父表与子表同步加载” 的问题
 

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

 

 

狐爸!! 1、ids字符串能无限长吗?   最大值应该是 2^16 吧!所以这个例子有 BUG

             2、并不能去掉 ,  啊!!  还是有错!还是BUG啊

           建议狐爸!帮忙看看吧!


--  作者:gsnake
--  发布时间:2013/7/26 22:05:00
--  

第二项知道了!只处理最前最后,中间不能去除


--  作者:gsnake
--  发布时间:2013/7/26 22:07:00
--  

 ids= ids.Trim(",")

既然下面是 in   ,还要这句干什么?


--  作者:fjlclxj
--  发布时间:2013/7/27 0:13:00
--  
1、?string类型看帮助 2、?ids?=?ids?&?","?&?dr("订单ID")
[此贴子已经被作者于2013-7-27 0:18:07编辑过]

--  作者:客家阿哥
--  发布时间:2013/7/27 1:55:00
--  
看看我做的例子

帮助里面少了‘’

--  作者:客家阿哥
--  发布时间:2013/7/27 1:57:00
--  
Dim txt As String = e.Form.Controls("TextBox1").Text
If  txt =""  Then
    MessageBox.Show("填入查询条件")
Else
    DataTables("A").LoadFilter =""
    DataTables("A").LoadFilter = "第一列 Like \'%" & txt & "%\'"
    DataTables("A").Load()
End If

If DataTables("A").DataRows.Count = 0 Then \'如果订单表没有数据
    DataTables("B").LoadFilter = "第二列 Is Null" \'不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("A").DataRows
        ids = ids & "," & dr("第一列")
    Next
    ids= ids.Trim(",")
    DataTables("B").LoadFilter = "第二列 In (\'" & ids & "\')"
End If
DataTables("B").Load()
[此贴子已经被作者于2013-7-27 2:12:40编辑过]