我正在做一个添加信息的模块,但是我这个总是一次要添加数条记录,所以我需要以表的形式添加,每一行就是一条新的记录,请问这应该用什么控件实现呢?是用MSFLEXGRID吗?如何实现呢??

解决方案 »

  1.   

    flexgrid是用来显示数据的
    如下示例是用来显示数据库中一个表中的数据的。
    Option Explicit
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Private Sub Form_Load()
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    Dim you_connstr As String
    you_connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
    cn.Open you_connstr
    Dim sqlstr As String
    sqlstr = "select * from test"
    rs.CursorLocation = adUseClient
    rs.Open sqlstr, cn, adOpenDynamic, adLockBatchOptimistic'打开数据库取出记录集
    MSFlexGrid1.Rows = rs.RecordCount + 1'设置msflexgrid的行数
    MSFlexGrid1.Cols = rs.Fields.Count + 1'设置msflexgrid的列数
       Dim L As Integer, j As Integer
        Do While Not rs.EOF'循环读取记录集
            MSFlexGrid1.Row = L'MSFlexGrid1的第L行
            For j = 1 To rs.Fields.Count'循环从记录集第一列到最后一列
                MSFlexGrid1.Col = j'MSFlexGrid1的第j列..L和j指定了MSFlexGrid1所在的位置
                If IsNull(rs.Fields(j - 1).Value) Then
                MSFlexGrid1.Text = ""
                Else
                MSFlexGrid1.Text = rs.Fields(j - 1).Value'把记录集的值设为MSFlexGrid1的值
                End If
            Next j
            rs.MoveNext
            L = L + 1
        'Next l
        LoopEnd Sub
      

  2.   

    如果要添加到MSFlexGrid1中,容易,如下:
    把几条记录放在数组中
    dim mychar() as string
    redim mychar(4) as string'假定有5条记录
    mychar(0)=记录1
    mychar(1)=记录2
    mychar(2)=记录3
    mychar(3)=记录4
    mychar(4)=记录5MSFlexGrid1.rows=5
    MSFlexGrid1.row=5dim j as interge
    For j = 0 To ubound(mychar)
    MSFlexGrid1.col=j+1
    MSFlexGrid1.Text =mychar(i)
    next