VB6.0,Office2003,下面的程序已经实现了将excel表导入到已建好的access的表中:
Private Sub Command1_Click()
   CommonDialog1.ShowOpen
       If CommonDialog1.FileName = "" Then Exit Sub
    Dim sql As String
    Dim n As Long, m As Long
    Set con = New Connection
    con.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D: \IDDatabase.mdb;"    con.Execute "delete * from idlist"
    sql = "SELECT * From [Sheet1$] IN " & Chr(34) & CommonDialog1.FileName & Chr(34) & Chr(32) & Chr(34) & "EXCEL 8.0;" & Chr(34)
    Debug.Print sql
    Set rst = con.Execute(sql)
    While Not rst.EOF
        sql = "insert into idlist(idnumber,idmc,iddz,dhhm) values ('" & rst.Fields(0) & "','" & rst.Fields(1) & "','" & rst.Fields(2) & "','" & rst.Fields(3) & "') "
        con.Execute sql, n
        m = m + n
        rst.MoveNext
    Wend
    Set rst = Nothing
    Set con = Nothing
    MsgBox "成功导入!共导入数据" & m & "条", 0, "温馨提示"
    Unload Me
    End sub问题是:我不想给人看见excel表的内容,我要对excel表加密,但是加密后的excel表如何导入access中,上面的代码如何改?

解决方案 »

  1.   

    那照这样说法, access不是也得加密么. 打开mdb文件也可以看到内容的.如果照你程序写的这个数据表"IDDatabase"只是存放一些ID资料的话, 为了保密起见, 还不如直接用二进制文件来得可靠些, 至少不是那种双击就能看到的.例子:
    按照ID表建立一个数据结构A.
    然后定义A类型的数组, 有多少记录数组就多长.然后一个文件操作,将整个数组写入二进制文件即可.
    读取的时候也是定义好数组一次性读取.