Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
根据帮助中的父表与子表同步加载案例,如果要求根据"订单"表的"订单ID"和"单位"两个条件对"订单明细"表进行同步加载,以下代码应该如何修改,请各位老师帮助指教,谢谢!!
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
ids= ids.Trim(",")
DataTables("订单明细").LoadFilter = "订单ID In (" & ids & ")"
End If
DataTables("订单明细").Load()
呵呵,一个订单的订单明细,和一个月的订单明细有什么关系?
一个订单会有3000个明细?
也许你的设计有问题,或许你的理解有问题。
我只是打个比方,实际情况是共20多个单位,每个单位100多个员工,每个月3000多条数据,一年就是近4万条数据,如果五年的数据就是20万,太恐怖了。
现在的方案是,每次只加载一个月的数据,也就是3000来条,应该问题不大,再次谢谢狐爸老师。
代码好像有点问题,报酬明细表不能加载,不知问题在哪里,请各位老师指教,谢谢!!
表达式的日期应该用#可以起来:
If DataTables("数据汇总").DataRows.Count = 0 Then '如果订单表没有数据
DataTables("报酬明细").LoadFilter = "日期 Is Null" '不加载订单明细
Else
Dim ids As String
For Each dr As DataRow In DataTables("数据汇总").DataRows
If ids > "" Then
ids= ids & ","
End If
ids = ids & "#" & dr("日期") & "#"
Next
DataTables("报酬明细").LoadFilter = "日期 In (" & ids & ")"
End If
DataTables("报酬明细").Load()
狐爸老师,上述代码用在内部数据源,运行正常,但是在外部数据源(SQL)的条件下出错,将"#"号去掉,又不能加载明细表,代码应该如何修改?望指教,谢谢!!
If DataTables("数据汇总").DataRows.Count = 0 Then '如果订单表没有数据
DataTables("报酬明细").LoadFilter = "日期 Is Null" '不加载订单明细
Else
Dim ids As String
For Each dr As DataRow In DataTables("数据汇总").DataRows
If ids > "" Then
ids= ids & ","
End If
ids = ids & "#" & dr("日期") & "#"
Next
DataTables("报酬明细").LoadFilter = "日期 In (" & ids & ")"
End If
DataTables("报酬明细").Load()