VB中不是有动态数组吗?声明一个动态数组存放,每放一个都先用redim加大存储空间即可。

解决方案 »

  1.   

    ReDim 语句示例
    该示例使用 ReDim 语句为动态数组变量分配和重分配存储空间。假设 Option Base 是 1。Dim MyArray() As Integer   '声明动态数组。
    Redim MyArray(5)   '分配 5 个元素。
    For I = 1 To 5   '循环 5 次。
       MyArray(I) = I   '初始化数组。
    Next I下一条语句重定义该数组的大小,并清除其中的元素。Redim MyArray(10)   '大小重定为 10 个元素。
    For I = 1 To 10   '循环 10 次。
       MyArray(I) = I   '初始化数组。
    Next I下面的语句重定义该数组的大小,但没有清除其中的元素。Redim Preserve MyArray(15)   '大小重定为 15 个元素。
      

  2.   

    把表的字段类型定义成Byte型
      

  3.   

    盗用一下泰山的:ReDim 语句示例
    该示例使用 ReDim 语句为动态数组变量分配和重分配存储空间。假设 Option Base 是 1。Dim MyArray() As Integer   '声明动态数组。
    Redim MyArray(5)   '分配 5 个元素。
    For I = 1 To 5   '循环 5 次。
       MyArray(I) = I   '初始化数组。
    Next I下一条语句重定义该数组的大小,并清除其中的元素。Redim MyArray(10)   '大小重定为 10 个元素。
    For I = 1 To 10   '循环 10 次。
       MyArray(I) = I   '初始化数组。
    Next I================================================
    ''取出元素:
    dim MyArray2(UBound(MyArray)) as Integer   
    for I =1 to UBound(MyArray)
        MyArray2(I) = MyArray(I)
    next
    下面的语句重定义该数组的大小,但没有清除其中的元素。Redim Preserve MyArray(15)   '大小重定为 15 个元素。''''说明: Preserve 关键字用以保存原数组中的数据不被丢失,但是只能改变数组最后一维的维数,就是上限值。
    例如:
    dim MyArray() as LongRedim MyArray(0 to 5) as LongRedim Preserve MyArray(0 to 6) as Long '''正确
    Redim Preserve MyArray(1 to 6) as Long '''错误,因为改变的不是上限,是下限对于多维数组同样适用
      

  4.   

    用COLLECTION最简单:Dim city As New Collection
    Private Sub Command1_Click()
    city.Add "bj"
    city.Add "tj"
    city.Add "sh"
    city.Add "cq"
    End SubPrivate Sub Command2_Click()
    For i = 1 To 100
    city.Add Chr(i Mod 26 + 65)
    Next
    End SubPrivate Sub Command3_Click()
    msgbox "数组已存在 "& city.Count &" 个元素!"Open "d:\temp.txt" For Output As #1
    For i = 1 To city.Count
    Print #1, , city(i)
    Next
    Close #1
    End
    End Sub