现在有listbox1,里面列有数据如下:
aaa
bbb
ccc
ddd
.
.
.
.
.它们分别代表产品编号为00001的不同属性。
另有控件text1负责接受产品编号的输入。
在SQL SERVER-2000数据库中表test的结构如下:
产品编号 产品属性现在就是想利用按钮command1把listbox1控件中的内容存到数据库test表中,成为如下状态:
产品编号 产品属性
000001 aaa
000001 bbb
000001 ccc
000001 ddd注意listbox1中的内容行数不是固定的(是通过其他listbox选出来的)高分征求按钮command1的代码:)

解决方案 »

  1.   

    with recordset
      for i=0 to listbox1.listcount-1
        .addnew
        !产品编号.value=text1
        !产品属性.value=listbox1.list(i)
        .udate
      next i  
    end with
      

  2.   

    修正中海的BUG:with recordset
      for i=0 to listbox1.listcount-1
        .addnew
        !产品编号.value=text1
        !产品属性.value=listbox1.list(i)
        .update
      next   
    end with
      

  3.   

    支持中海
    再提供一种方法
    Public Function C_InsertCombox(P_TableName As String, P_FieldName As String, P_Values As String)
    Dim i As Integer
    On Error GoTo inerr
    If P_Values = "" Then
       GoTo inerr
    End If
    C_Sa = ""
    C_Sa = "select " & P_FieldName & " from " & P_TableName '& " where order by " & P_TableName
    Set results = cn.OpenResultset(C_Sa, rdOpenDynamic)
    For i = 1 To results.RowCount
        If P_Values = results.rdoColumns(0).value Then
           GoTo inerr
        End If
        If i = results.RowCount Then
           Exit For
        End If
        results.MoveNext
    Next i
    results.Close
    C_Insert = ""
    C_Insert = "insert into " & P_TableName & " values('" & P_Values & "')"
    Set results = cn.OpenResultset(C_Insert, rdOpenDynamic)
    results.Close
    inerr:
    End Function调用是:
    for i=0 to listbox1.listcount-1
        C_InsertCombox("MyTable","000001",listbox1.list(i))
    next i
      

  4.   

    Private Sub Form_Load()
        Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset
       CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\Db.mdb"    CN.Open
        Rs.CursorLocation = adUseClient
        Rs.Open "select * from test", CN, adOpenDynamic, adLockOptimistic
    End SubPrivate Sub Command1_Click()
        With Rs
          For I = 0 To List1.ListCount - 1
            .AddNew
           
            .Fields("产品编号") = Text1.Text
            .Fields("产品属性") = List1.List(I)
            .Update
          Next
        End WithEnd Sub
      

  5.   

    Public Function C_InsertCombox(P_TableName As String, P_FieldName As String, P_Values As String)
    Dim i As Integer
    On Error GoTo inerr
    If P_Values = "" Then
       GoTo inerr
    End If
    C_Sa = ""
    C_Sa = "select " & P_FieldName & " from " & P_TableName '& " where order by " & P_TableName
    Set results = cn.OpenResultset(C_Sa, rdOpenDynamic)
    For i = 1 To results.RowCount
        If P_Values = results.rdoColumns(0).value Then
           GoTo inerr
        End If
        If i = results.RowCount Then
           Exit For
        End If
        results.MoveNext
    Next i
    results.Close
    C_Insert = ""
    C_Insert = "insert into " & P_TableName & " values('" & P_Values & "')"
    Set results = cn.OpenResultset(C_Insert, rdOpenDynamic)
    results.Close
    inerr:
    End Function调用是:
    for i=0 to listbox1.listcount-1
        C_InsertCombox("MyTable","000001",listbox1.list(i))
    next i