给你个将EXCEL表导入SQL2000的例子,更改一下连接方式 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim str As String Dim cn1 As New ADODB.Connection Dim cmd As New ADODB.Command Dim rs1 As New ADODB.Recordset cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=EXCEL文件名.xls;Extended Properties='Excel 8.0;HDR=Yes'" cn.Open rs.Open "select * from [EXCEL工作表名$]", cn, adOpenKeyset, adLockOptimistic str = "Driver={SQL Server};Server=数据库服务器名;DataBase=数据库;UID=登陆用户;PWD=密码;" cn1.Open str rs1.Open "select * from 数据库表名", cn1, adOpenKeyset, adLockOptimistic cmd.CommandText = "delete from 数据库表名 " '清空原数据表 cn1.Execute cmd.CommandText For j = 1 To rs.RecordCount If rs.EOF = True Then Exit Sub Else rs1.AddNew For i = 0 To rs.Fields.Count - 1 rs1.Fields(i) = rs.Fields(i) Next i rs1.Update rs.MoveNext End If Next j cn.Close cn1.Close说明:1、必须将EXCEL表放在程序的同一目录下! 2、数据库中要使用的数据表的数据项要和EXCEL表中的一样! 3、经测试,1w条EXCEL数据导入本地数据库耗时在7~10秒左右 4、本程序引用了Microsoft ActiveX Data Objects 2.5 Library
我也碰这样的问题呢,查了很多,都是这样的答案 Dim db As Database Dim rs As Recordset Set db = openDatabase("excel文件名", True, False, "Excel 5.0") sql = "Select * into [;database=mdb文件名].表1 FROM [excel工作表$]" Call db.Execute(sql)这个程序有这样一个问题,它是直接往access数据库中添加一个新的表,把excel文件中的数据全部导入表中。不知这个程序能否选择excel表中的字段进行导入,且不要新建一个表,另外:如果access数据库有密码,怎么办
首先把表导入放不同的名字,比如说改为1,然后在queries中做一个: INSERT INTO text( textid,text...) SELECT textid, text.. FROM 1;做完后双击这个queries(名称自己)就添加成功,删除的话也一样.
给你个将EXCEL表导入SQL2000的例子,更改一下连接方式
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str As String
Dim cn1 As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs1 As New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=EXCEL文件名.xls;Extended Properties='Excel 8.0;HDR=Yes'"
cn.Open
rs.Open "select * from [EXCEL工作表名$]", cn, adOpenKeyset, adLockOptimistic
str = "Driver={SQL Server};Server=数据库服务器名;DataBase=数据库;UID=登陆用户;PWD=密码;"
cn1.Open str
rs1.Open "select * from 数据库表名", cn1, adOpenKeyset, adLockOptimistic
cmd.CommandText = "delete from 数据库表名 " '清空原数据表
cn1.Execute cmd.CommandText
For j = 1 To rs.RecordCount
If rs.EOF = True Then
Exit Sub
Else
rs1.AddNew
For i = 0 To rs.Fields.Count - 1
rs1.Fields(i) = rs.Fields(i)
Next i
rs1.Update
rs.MoveNext
End If
Next j
cn.Close
cn1.Close说明:1、必须将EXCEL表放在程序的同一目录下!
2、数据库中要使用的数据表的数据项要和EXCEL表中的一样!
3、经测试,1w条EXCEL数据导入本地数据库耗时在7~10秒左右
4、本程序引用了Microsoft ActiveX Data Objects 2.5 Library
Dim db As Database
Dim rs As Recordset
Set db = openDatabase("excel文件名", True, False, "Excel 5.0")
sql = "Select * into [;database=mdb文件名].表1 FROM [excel工作表$]"
Call db.Execute(sql)这个程序有这样一个问题,它是直接往access数据库中添加一个新的表,把excel文件中的数据全部导入表中。不知这个程序能否选择excel表中的字段进行导入,且不要新建一个表,另外:如果access数据库有密码,怎么办
INSERT INTO text( textid,text...)
SELECT textid, text..
FROM 1;做完后双击这个queries(名称自己)就添加成功,删除的话也一样.