想把一个taxi.xls导入到access数据库中已有的taxi表中(相当于对taxi表添加记录),然后对taxi表进行添加或删除记录的操作,该怎么办呢?哪位高手会??

解决方案 »

  1.   


    给你个将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 
      

  2.   

    我也碰这样的问题呢,查了很多,都是这样的答案
    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数据库有密码,怎么办
      

  3.   

    首先把表导入放不同的名字,比如说改为1,然后在queries中做一个:
    INSERT INTO text( textid,text...)
    SELECT textid, text..
    FROM 1;做完后双击这个queries(名称自己)就添加成功,删除的话也一样.
      

  4.   

    定义两个ADO,分别连接EXCEL与ACCESS,通过两个ADO实现数据导入