Private Sub Form_Load() 
Set adoRecordset = New ADODB.Recordset
  adoRecordset.Fields.Append "id", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
  adoRecordset.Fields.Append "name", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
  adoRecordset.Fields.Append "age", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
End Sub
 ......'窗体中的其他过程
 ......
 ......adoRecordset 这个recordset对象上已经有了很多条记录
现在请问怎么样可以把adoRecordset上的所以记录都插入到student.mdb的user表中,adoRecordset和表user的结构要完全一致吗?

解决方案 »

  1.   

    循环,用ADDNEW方法
    比如:
    dim rs as new adodb.recordset
    rs.open "select * from tb",cn,1,3adoRecordset.movefirst
    while not adoRecordset.eof
        rs.addnew
        rs.fields(0)=adoRecordset!fields1
        ......
        rs.update
        adoRecordset.movenext
    wend
    set rs=nothen结构可以不一样,但字段类型要一致,同时user表中不插入数据的字段要允许为空值
      

  2.   

    Dim i%
    adoRecordset.MoveFirst
    While Not adoRecordset.EOF
        rs.AddNew
        For i = 0 To adoRecordset.Fields.Count - 1
            rs(i) = adoRecordset(i)
        Next
        adoRecordset.MoveNext
    Wend
    rs.UpdateBatch
      

  3.   

    二楼的我也想到了的,但是觉得效率低
    要试试三楼的,就是因为本人不知道在什么环境下才使用UpdateBatch方法
      

  4.   

    Private Sub Form_Load()
    Set adoRecordset = New ADODB.Recordset
    adoRecordset.Fields.Append "id", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
    adoRecordset.Fields.Append "name", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
    adoRecordset.Fields.Append "age", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
    End Sub这个过程的字段类型就不知道怎么定义了,我没有相关的资料参考啊,有什么好介绍啊
    如果是字符窜就adString吗?adCurrency吗?
      

  5.   

    Type 属性(列)
          设置和返回值设置或返回长整型值,该值是如下常量之一:常量 说明 
    adTinyInt 精确的数字值,精度为小数点后 3 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdSmallInt 精确数字值,精度为小数点后 5 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdInteger 精确数字值,精度为小数点后 10 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdBigInt 精确数字值,精度为小数点后 19 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdUnsignedTinyInt 无符号的 adTinyInt。 
    AdUnsignedSmallInt 无符号的 adSmallInt。 
    AdUnsignedInt 无符号的 adInteger。 
    AdUnsignedBigInt 无符号的 adBigInt。 
    AdSingle 单精度浮点数。 
    AdDouble 双精度浮点数。 
    AdCurrency 货币类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdDecimal 变体型十进制类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdNumeric 数值类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdBoolean 变体布尔类型。0 为假而 ~0 为真。 
    AdUserDefined 用户定义的变量长度数据类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdVariant 自动变体型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdGuid 全域唯一标识符。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdDate 自动日期。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdDBDate 数据库日期数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdDBTime 数据库时间数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdDBTimestamp 数据库时间戳结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdBSTR BSTR 的指针。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 
    AdChar 定长字符串。 
    AdVarChar 变长字符串。 
    AdLongVarChar 长变长字符串。 
    AdWChar 宽定长字符串。 
    AdVarWChar 宽变长字符串。 
    AdLongVarWChar 长、宽变长字符串。 
    AdBinary 定长二进制数据。 
    AdVarBinary 变长二进制数据。 
    AdLongVarBinary 长变长二进制数据。 
    说明默认值是 adVarWChar。在 Column 对象追加到集合或到另一个对象之前,该属性是可读/写的,而在追加之后是只读的。
      

  6.   

    给这个手册的下载地址给我啊,免得你以后又为我贴了
    不会也是在msdn里面吧。