表A
|
|
表C 数据组合表
|
平面分区
|
平面分格代号
|
平面分格尺寸
|
|
平面分区
|
立面分区
|
平面分格代号
|
平面分格代号
|
平面分格尺寸
|
立面分格尺寸
|
|
第一分区
|
B1
|
100
|
|
第一分区
|
第1分区
|
B1
|
H1
|
100
|
1100
|
|
第一分区
|
B2
|
200
|
|
第一分区
|
第1分区
|
B1
|
H2
|
100
|
1200
|
|
第一分区
|
B3
|
300
|
|
|
|
|
|
|
|
|
第二分区
|
B4
|
400
|
|
第一分区
|
第1分区
|
B2
|
H1
|
200
|
1100
|
|
第二分区
|
B5
|
500
|
|
第一分区
|
第1分区
|
B2
|
H2
|
200
|
1200
|
|
第三分区
|
B6
|
600
|
|
|
|
|
|
|
|
|
第三分区
|
B2
|
700
|
|
第一分区
|
第1分区
|
B3
|
H1
|
300
|
1100
|
|
第三分区
|
B3
|
800
|
|
第一分区
|
第1分区
|
B3
|
H2
|
300
|
1200
|
|
第三分区
|
B4
|
900
|
|
|
|
|
|
|
|
|
|
|
|
|
第二分区
|
第2分区
|
B4
|
H1
|
400
|
1300
|
|
|
|
|
|
第二分区
|
第2分区
|
B4
|
H2
|
400
|
1400
|
|
表B
|
|
第二分区
|
第2分区
|
B4
|
H3
|
400
|
1500
|
|
立面分区
|
立面分格代号
|
立面分格尺寸
|
|
第二分区
|
第2分区
|
B4
|
H4
|
400
|
1600
|
|
第1分区
|
H1
|
1100
|
|
|
|
|
|
|
|
|
第1分区
|
H2
|
1200
|
|
第二分区
|
第2分区
|
B5
|
H1
|
500
|
1300
|
|
第2分区
|
H1
|
1300
|
|
第二分区
|
第2分区
|
B5
|
H2
|
500
|
1400
|
|
第2分区
|
H2
|
1400
|
|
第二分区
|
第2分区
|
B5
|
H3
|
500
|
1500
|
|
第2分区
|
H3
|
1500
|
|
第二分区
|
第2分区
|
B5
|
H4
|
500
|
1600
|
|
第2分区
|
H4
|
1600
|
|
|
|
|
|
|
|
|
第3分区
|
H5
|
1700
|
|
第三分区
|
第3分区
|
B6
|
H5
|
600
|
1700
|
|
第3分区
|
H6
|
1800
|
|
第三分区
|
第3分区
|
B6
|
H6
|
600
|
1800
|
|
第三分区
|
B4
|
900
|
|
第三分区
|
第3分区
|
B6
|
B4
|
600
|
900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
第三分区
|
第3分区
|
B2
|
H5
|
700
|
1700
|
|
|
|
|
|
第三分区
|
第3分区
|
B2
|
H6
|
700
|
1800
|
|
|
|
|
|
第三分区
|
第3分区
|
B2
|
B4
|
700
|
900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
第三分区
|
第3分区
|
B3
|
H5
|
800
|
1700
|
|
|
|
|
|
第三分区
|
第3分区
|
B3
|
H6
|
800
|
1800
|
|
|
|
|
|
第三分区
|
第3分区
|
B3
|
B4
|
800
|
900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
第三分区
|
第3分区
|
B4
|
H5
|
900
|
1700
|
|
|
|
|
|
第三分区
|
第3分区
|
B4
|
H6
|
900
|
1800
|
|
|
|
|
|
第三分区
|
第3分区
|
B4
|
B4
|
900
|
900
|
|
|
|
|
|
.........
|
.........
|
.........
|
.........
|
.........
|
.........
|
|
专家老师好!
现在有2个原始数据表 (表A 表B) 1个数据组合表 (表C)
表A ,表B 的 平面分区 与 立面分区 作为索引的关键列 在表C中进行数据组合 组合的结果就是表C 结构
想要实现的功能: 1 就是在分区相同的数据整合到一起(如 第一分区 第1分区)
在此基础上 每一个平面分格代号
与该分区下的所有立面分格代号进行组合 相应的数据 对应填入
如 B1 H1
100 1100
B1 H2
100 1200
B2 H1 200 1200
B2 H2 200 1200
依此类推
2 表C数据整合完后,如果以后再对表A,,表B
扩充追加数据, 表C原已整合完的数据不动, 还是在上述整合数据的原则下,在表C中增加追加新的扩充数据
我采用咱们的
数据填充器,手工编码数据填充的方式 以及咱们常规的跨表引用数据的方式进行了多次尝试,一点也没实现所需的功能,对这种数据整合代码一点也没摸着头脑,束手无策
请老师看看关于这种情况代码怎么写,谢谢老师
下面是我在maintablechanged事件中写入的代码,
If MainTable.Name = "表C" Then '如果选择的主表是订单表
Dim f As New Filler
f.SourceTable =
DataTables("表A") '指定数据来源
f.SourceCols = "平面分区, 平面分格代号, 平面分格尺寸"
'指定数据来源列
f.DataTable =
DataTables("表C") '指定数据接收表
f.DataCols = "平面分区, 平面分格代号, 平面分格尺寸"
'指定数据接收列
f.ExcludeExistValue = True '排除接收表中已经存在的重复值
f.Fill() '填充数据
f.SourceTable =
DataTables("表B ") '指定数据来源
f.SourceCols = "立面分区, 立面分格代号, 立面分格尺寸"
'指定数据来源列
f.DataTable =
DataTables("表C") '指定数据接收表
f.DataCols = "立面分区, 立面分格代号, 立面分格尺寸"
'指定数据接收列
' f.Filter =
"system.DBNull(DataTables("表C ").DataCols("平面分格代号"))"
f.ExcludeExistValue = True '排除接收表中已经存在的重复值
f.Fill() '填充
End If
'Dim Vals As List(Of String())
'Vals = DataTables("表B").GetValues("立面分格代号|立面分格尺寸")
'For i As Integer = 0 To Vals.Count - 1
' Dim dr As DataRow =
DataTables("表C").AddNew()
' dr("立面分格代号") = Vals(i)(0)
' dr("立面分格尺寸") = Vals(i)(1)
'Next