有这么一段代码,是希望能把搜索到的多行内容传递给一个临时表,临时表和相关变量已经定义过了,
.......
Dim drs AS List(of Datarow)
drs=Datatables("BPB量产电池").SELECT(filter2) For Each dra As Datarow In drs \'历遍drs Dim dc As Datacol=drs("产品名称")
Dim Drb As Datarow = Datatables("temp").AddNew() drb("产品名称") = dra(dc.name) ‘把drs中的产品名称传递给临时表的产品名称 Next
运行后,其中提示Dim dc As Datacol=drs("产品名称") 错误,如何取得drs集合中的这一列呢?
drs=Datatables("BPB量产电池").SELECT(filter2) For Each dra As Datarow In drs \'历遍drs \'Dim dc As Datacol=drs("产品名称")
Dim Drb As Datarow = Datatables("temp").AddNew() drb("产品名称") = dra("产品名称") ‘这样试一试··· Next
或
drs=Datatables("BPB量产电池").SELECT(filter2) For Each dra As Datarow In drs \'历遍drs Dim dc As string = drs("产品名称")
Dim Drb As Datarow = Datatables("temp").AddNew() drb("产品名称") = dc ‘这样试一试··· Next
试了一下,不行
一般取得列的定义方式是Dim dc As DataCol = DataTables("订单").DataCols("日期"),直接从表中的列取,而我是希望从drs集合中取.定义dc为string也运行不了.
1、“直接从表中的列取,而我是希望从drs集合中取”
其实都一样的,因为drs集合是从表中取得,集合中的这些列和表的列都完全一样,所以 Dim dc As Datacol=Datatables("BPB量产电池").Datacols("产品名称") 就是你所需要的。
2、drb("产品名称") = dra(dc.name)
从上下文看,完全不需要这个定义和写法,其实可以按照mr725的:
For Each dra As Datarow In drs \'历遍drs \'Dim dc As Datacol=drs("产品名称")
应该说你错到哪去都不知道了,drs是个集合哎.
提问要养成良好的习惯,尽量上传示例文件。