代码如下:
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表中呢?谢谢!
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表中呢?谢谢!
创建生成表查询。语法
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 保留字作为表达式中的比较运算符。
select * into yy in "C:\test.mdb" from tt.csv
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