客户要求这样做:
从数据库(access)读数据,把获取的数据保存于数组,然后把数组的数据以表格的形式显示出来。由于客户不懂得SQL,但对VB语法有点了解,所以才要求这样做。本人刚接触VB,望高手们指点,最好有源码,谢谢!

解决方案 »

  1.   

    下面是我用spread6做的项目中的一部分,不知道你会不会用spread6,仅供参考 
    这些都是在你已经建立数据库连接的基础上的
    spread是数据绑定控件,功能非常强大,不妨学习学习
    Dim lCount As Long
       Dim i As Integer
       Dim j As Integer
       Dim k As Integer
       Dim rs As ADODB.Recordset      '定义记数集
       
       If p_GetFields(tvTreeView.SelectedItem.Text) = -1 Then   'p_GetFields函数后面有
          Exit Sub
       End If
       Set rs = g_resTable
       
      '记录集g_strFieldName数组的最大维数
            lCount = UBound(g_strFieldName)
      '取字段名插入spread表
        For i = 1 To lCount
            fpSpread1.Col = i
            fpSpread1.row = 0
            fpSpread1.Value = g_strFieldName(i - 1)
            fpSpread1.MaxCols = lCount
        Next i
        
      '取数据插入spread表
        For k = 1 To rs.RecordCount
            fpSpread1.row = k
            For j = 1 To lCount
                fpSpread1.Col = j
                fpSpread1.Value = gNullToSpace(rs.Fields(g_strFieldName(j - 1)))
                fpSpread1.MaxRows = rs.RecordCount
            Next j
            rs.MoveNext
            
         Next k函数:
    Public Function p_GetFields(strTable As String) As Integer    Dim strSql  As String                                     'sql string
        Dim rs As New ADODB.Recordset                             'recordset
        Dim iCount As Integer
        Dim i As Integer
        
        On Error GoTo err_label
        p_GetFields = 0
        
        '确定表格
        strSql = "SELECT * from  " & strTable
        '执行SQL语句
        Call RunSelect(rs, strSql)
        iCount = rs.Fields.Count
        
        '为动态数组变量重新分配存储空间
        ReDim g_strFieldName(iCount)
        '取出字段名放入动态数组
        For i = 0 To iCount - 1
            g_strFieldName(i) = rs.Fields(i).Name
        Next
        
        Set g_resTable = Nothing
        
        Set g_resTable = rs    Exit Function
    err_label:
         p_GetFields = -1
        MsgBox Err.Description
        
    End Function
    有问题可以再联系
      

  2.   

    RunSelect函数:
    Public Function RunSelect(rs As Recordset, strSelect As String) As Integer
        Set rs = New Recordset
      If db.State <> adStateClosed Then
        If adoPrimaryRS.State = adStateOpen Then
           adoPrimaryRS.Close
        End If
      
        adoPrimaryRS.Open strSelect, db, adOpenForwardOnly, adLockOptimistic, -1
        
        Set rs = adoPrimaryRS
        
      End If
      RunSelect = 0
    End Function
    g_strFieldName这是个全局变量
      

  3.   

    将数据直接从数据库中读出并显示到flexgrid中不行吗