当前位置:编程学习 > VB >>

excel导入数据库的问题,亟待解决!!!!!

想把一个taxi.xls导入到access数据库中已有的taxi表中(相当于对taxi表添加记录),然后对taxi表进行添加或删除记录的操作,该怎么办呢?哪位高手会?? --------------------编程问答--------------------
给你个将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(名称自己)就添加成功,删除的话也一样. --------------------编程问答-------------------- 定义两个ADO,分别连接EXCEL与ACCESS,通过两个ADO实现数据导入
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,