代码如下:
Public cnn As New ADODB.Connection
Public rec As New ADODB.Recordset
Public cnn2 As New ADODB.Connection
Public rec2 As New ADODB.Recordset
cnn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0;data source=C:\test.mdb"
cnn2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\;Extended Properties=""text;HDR=No;FMT=Delimited"""
cnn.open
cnn2.open
rec.Open "select * from yy", cnn, adOpenDynamic, adLockOptimistic
rec2.Open "select * from tt.csv where F1='GOOD'", cnn2, adOpenDynamic, adLockOptimistic请问如何用一句SQL语句将rec2中的记录全部插入到test数据库德yy表中呢?谢谢!

解决方案 »

  1.   

    SELECT...INTO 语句 
    创建生成表查询。语法
    SELECT field1[, field2[, ...]] INTO newtable [IN externaldatabase]
    FROM source
    说明
    可以通过生成表查询来存档记录,或制作表的备份副本,或者将副本导出到其他数据库,或作为某个特定时间段的数据的报表产生基础。例如,可以通过每个月运行相同的生成表查询来生成一个月销售区域报表。
    _______________________________________________________IN 子句
    标识在任何能够由 Microsoft Jet 数据库引擎连接的外部数据库(如 dBASE 或 Paradox 数据库或外部 Microsoft® Jet 数据库)中的表。语法
    若要标识目标表:[SELECT | INSERT] INTO destination IN
    {path | ["path" "type"] | ["" [type; DATABASE = path]]}若要标识源表:FROM tableexpression IN
    {path | ["path" "type"] | ["" [type; DATABASE = path]]}包含 IN 子句的 SELECT 语句具有以下部分:部分 说明 
    destination 将在其中插入数据的外部表的名称。 
    tableexpression 将检索其中的数据的表的名称。该参数可以是单个表名、存储查询或者从 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 产生的组合结果。 
    path 包含 table 的目录或文件的完整路径。 
    type 用于创建 table 的数据库类型的名称(如果数据库不是 Microsoft Jet 数据库,例如 dBASE III、dBASE IV、Paradox 3.x 或 Paradox 4.x)。 
    说明
    使用 IN 子句一次只能连接一个外部数据库。某些情况下,path 参数所引用的路径包含了数据库文件。例如,当使用 dBASE、Microsoft FoxPro® 或 Paraox 数据库表时,该 path 参数指定了包含 .dbf 或 .db 文件的目录。表文件名来源于 destination 或 tableexpression 参数。若要指定非 Microsoft Jet 数据库,请在名称的尾部追加一个分号 (;),并用引号('') 或 ("") 将其括起来。例如,'dBASE IV;' 或 "dBASE IV;" 都是允许的。还可以使用 DATABASE 保留字来指定外部数据库。以下的各行指定了相同的表:... FROM Table IN "" [dBASE IV; DATABASE=C:\DBASE\DATA\SALES;];... FROM Table IN "C:\DBASE\DATA\SALES" "dBASE IV;"注释为了提高性能和易于使用,请使用链接表而不是 IN。还可以使用 IN 保留字作为表达式中的比较运算符。 
      

  2.   

    '如下SQL即可:
    select * into  yy in "C:\test.mdb" from tt.csv 
      

  3.   

    TXT导入Access参考:
    1.文本格式:
    User_Code,MenuID,Access
    linda,mnSalesTargetPlan,2
    linda,mnFinancePlan,2
    linda,mnBrandPlan,0
    linda,mnItemPlan,0
    linda,mnNewItemMax,0
    linda,mnNewWhsMax,02.建立MDB文件3.代码
    Option ExplicitPrivate Sub Form_Load()
        Dim cn As New ADODB.Connection
        Dim cn2 As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim rs2 As New ADODB.Recordset
        Dim i As Integer
        
        cn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" & App.Path & "\;Extensions=asc,csv,tab,txt;"
        rs.CursorLocation = adUseClient
        rs.Open "select * from txtdb.txt", cn, 1, 1
        
        cn2.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\db.mdb;Uid=Admin;Pwd=;"
        rs2.Open "select * from table1", cn2, 1, 3
        
        While Not rs.EOF
            rs2.AddNew
            rs2.Fields("User_Code") = rs("User_Code")
            rs2.Fields("MenuID") = rs("MenuID")
            rs2.Fields("Access") = rs("Access")
            rs.MoveNext
        Wend
        rs2.UpdateBatch
            Set rs2 = Nothing
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
        cn2.Close
        Set cn2 = Nothing
    End Sub