我的一个客户,他不会SQL,但会一些基本的VB语法,现在他想这样实现他的功能,由于本人刚接触VB,希望高手们指点。
首先从Access数据库查询(这些语句到时我们帮他写),然后把查询的内容保存到数组里,把数组的数据显示出来。
最好有源代码。谢谢!

解决方案 »

  1.   

    Dim rs As ADODB.Recordset
    Dim count As Integer
    Dim x1(), x2(), x3() As String
    ......
    Set rs = New ADODB.Recordset
    rs.Open "select field1,field2,field3 from table", CNN, adOpenStatic
    count = rs.RecordCount
    ReDim x1(count), x2(count), x3(count)
    For i = 1 To count
        x1(i) = Trim(rs(0))
        x2(i) = Trim(rs(1))
        x3(i) = Trim(rs(3))
        rs.MoveNext
    Next i
      

  2.   

    摘自  MSDN
    GetRows 方法
          将 Recordset 对象的多个记录恢复到数组中。语法array = recordset.GetRows( Rows, Start, Fields )返回值返回二维数组。参数Rows    可选,长整型表达式,指定要检索记录数。默认值为 adGetRowsRest (-1)。Start    可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签。也可使用下列 BookEnum 值。常量 说明 
    AdBookCurrent 从当前记录开始。 
    AdBookFirst 从首记录开始。 
    AdBookLast 从尾记录开始。 Fields   可选,变体型,代表单个字段名、顺序位置、字段名数组或顺序位置号。ADO 仅返回这些字段中的数据。说明使用 GetRows 方法可将记录从 Recordset 复制到二维数组中。第一个下标标识字段,第二个则标识记录号。当 GetRows 方法返回数据时数组变量将自动调整到正确大小。如果不指定 Rows 参数的值,GetRows 方法将自动检索 Recordset 对象中的所有记录。如果请求的记录比可用记录多,则 GetRows 仅返回可用记录数。如果 Recordset 对象支持书签,则可以通过传送该记录的 Book 属性值,来指定 GetRows 方法将从哪个记录开始检索数据。如要限制 GetRows 调用返回的字段,则可以在 Fields 参数中传送单个字段名/编号或者字段名/编号数组。在调用 GetRows 后,下一个未读取的记录成为当前记录,或者如果没有更多的记录,则 EOF 属性设置为 True。
      

  3.   

    定义一个变体形变量
    dim a
    set a=rs.getrows()  'rs是一个recordsetfor i=0 to rs.recordcount-1
      for j=0 to rs.fields.count-1
        print a(i)(j)
      next
    next