wwwok网友的MDE文件中的表被隐藏了,应其而写了这个函数.我发出来给大家参考,希望各位高手批评指正.
call xianshibiao("C:\Users\zhenwu\Desktop\WZW\db2-2003.mde","")
Function XianshiBiao(strDBdirName As String, strDBPWD As String)
On Error Resume Next
Dim appAccess As Access.Application
Dim DB As Database
'OpenCurrentDatabase
Dim strDB As String
strDB = strDBdirName
Set appAccess = CreateObject("Access.Application")
Set DB = appAccess.DBEngine.OpenDatabase(strDB, True, 0, ";PWD=")
appAccess.OpenCurrentDatabase strDB
Dim i As Integer
Dim str1 As String
DB.TableDefs.Refresh
For i = 0 To DB.TableDefs.count - 1
str1 = DB.TableDefs(i).Name
'此项操作应避开系统表,以免将系统表属性改而造成问题.
If DB.TableDefs(i).Name = "msysaccessobjects" or DB.TableDefs(i).Name = "MSYSACCESSXML" _
or DB.TableDefs(i).Name = "MSYSACES" or DB.TableDefs(i).Name = "MSYSOBJECTS" _
or DB.TableDefs(i).Name = "MSYSQUERIES" or DB.TableDefs(i).Name = "MSYSRELATIONSHIPS" Then
Else
Debug.Print str1
DB.TableDefs(i).Attributes = 0
END IF
Next i
Set DB = Nothing
End Function