按上面的方法设计了一个电表抄表计算。二个数据表
表A为各电表编号 全数字,如1123,列名为:编号、价格
表B:列名为: 月份 D1123dj d1124dj d1125dj .........
现在要每增加一个月份(增加一行)后,表B的对应的单价能从表A中获取。
因表B列名不能以数字开头,加了一个“D”,因为以后还有相应倍率的列行增加,所以单价后面加了个“ DJ"
现在写了如下代码,提示未将对象引用设置到对象实例,进入死环,请指教
If e.DataCol.name = "月" Then
If e.DataCol.name Like "*dj*" Then
Dim name1 As String = Left(e.DataCol.Name.Replace("dj", ""),1) '去掉后二位dj和第一位字符得到编号
Dim drb As DataRow
drb = DataTables("表A").Find("编号 = 'name1'") '找到表识别中编号为name1的行
e.DataRow( "d" & name1 & "dj") = drb("价格") '自动从"表识别"取数
End if
end if
以上 一个一个取数我已经会做的,现在想快速点,因为表B的电表列名去掉第一个字符和最后二个字符 就是表A的编号,有这个关系在,想直接一次性解决,减少代码,因为电表有很多。