Foxtable(狐表)用户栏目专家坐堂 → 不定长的数组怎么声明


  共有1844人关注过本帖树形打印复制链接

主题:不定长的数组怎么声明

帅哥哟,离线,有人找我吗?
dj68301367
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:358 积分:2719 威望:0 精华:0 注册:2015/4/12 12:13:00
不定长的数组怎么声明  发帖心情 Post By:2015/7/7 20:07:00 [只看该作者]

Dim Vsh() As String,Vwl() As String,Vsl() As String
Dim i As Integer = 0

For Each dr1 As DataRow In DataTables("BOM").Select("成品编码 = '" & MGk & "'")

    vsh(i) = dr1("序号")
    vwl(i) = dr1("物料编码")
    vsl(i) = dr1("数量")

    i = i+1
Next

像我这样写代码可以吗?为什么总是提示错误?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 20:09:00 [只看该作者]

 数组过时了,用集合

 

http://www.foxtable.com/help/topics/0217.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 20:10:00 [只看该作者]

 你这是想做?select 以后,就能得到 datarow 的集合啊。

 回到顶部
帅哥哟,离线,有人找我吗?
dj68301367
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:358 积分:2719 威望:0 精华:0 注册:2015/4/12 12:13:00
  发帖心情 Post By:2015/7/7 20:51:00 [只看该作者]

再取值就会出错。
MGk = ""
Dim VmbtName As String
vmbtname = MbtName
If mtbf.Rows.Count > 0 Then Mstr = Mtbf.Current("产品型号")

Forms("产品查询").open()

'Dim Vsh() As new  String,Vwl() As String,Vsl() As String
Dim Vsh As new List(of String)
Dim Vwl As new List(of String)
Dim Vsl As new List(of String)
Dim i As Integer
MbtName = vmbtname
For Each dr1 As DataRow In DataTables("BOM").Select("成品编码 = '" & MGk & "'")
    'msgbox(dr1("物料编码"))
    vsh.Add(dr1("序号"))
    vwl.add(dr1("物料编码"))
    vsl.add(dr1("数量"))
Next

Dim Vwls() As String
Vwls = vwl.ToArray()

For i = 1 To vwl.Count
    Dim nr As Row = mtbf.AddNew()
    nr("成品编码") = mbtname
    nr("物料编码") = vwls(i)
Next
mtbf.Filter = "成品编码 = '" & mbtname & "'"

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 20:59:00 [只看该作者]

 简化代码

 

Dim drs As List(Of DataRow) = DataTables("BOM").Select("")

For Each dr As DataRow In drs
    Dim nr As Row = mtbf.AddNew()
    nr("物料编码") = dr("物料编码")
Next


 回到顶部