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