以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  窗口中的副表如何写datatables  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=91722)

--  作者:cqlwsam
--  发布时间:2016/10/17 17:42:00
--  窗口中的副表如何写datatables
代码如下:

Dim dtb As New DataTableBuilder("table3")
dtb.AddDef("项目",Gettype(String),30)
dtb.AddDef("结果",Gettype(String),30)
dtb.AddDef("正常值",Gettype(String),30 )
dtb.AddDef("临床意义",Gettype(String),800)
dtb.Build()

For Each dc As DataCol In DataTables(args(0)).DataCols
    If dc.name<>"PatientsID" AndAlso dc.name<>"检查日期" Then
        Dim dr As DataRow= DataTables("table3").AddNew()
        dr("项目")=dc.name
        For Each dr1 As DataRow In DataTables("实验室检查维护").DataRows
            If dr1("检验项目")=dc.name Then
                dr("正常值")=dr1("正常值")
                dr("临床意义")=dr1("临床意义")
            End If
        Next
        For Each dr2 As DataRow In DataTables("临床资料登记_table1").dataRows
            If dr2("检验项目")=dc.name Then
                dr("结果")=dr2(dc.name)
            End If
        Next
    End If
Next

标红的这句有问题。
[此贴子已经被作者于2016/10/17 17:42:18编辑过]

--  作者:有点蓝
--  发布时间:2016/10/17 17:44:00
--  
 For Each dr2 As DataRow In DataTables("副本对应的主表名称").dataRows
--  作者:cqlwsam
--  发布时间:2016/10/17 17:54:00
--  
窗口中就是table1,点击不同的选项其具体的表不一样。
--  作者:有点蓝
--  发布时间:2016/10/17 18:00:00
--  
 For Each dr2 As DataRow In Tables("临床资料登记_table1").datatable.dataRows

其实使用Row也可以

 For Each dr2 As Row In Tables("临床资料登记_table1").Rows