sub hide_table()
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
Set cat.ActiveConnection = CurrentProject.Connection
Dim tbl As ADOX.Table
Dim pro As Property
For Each tbl In cat.Tables
Debug.Print tbl.name
For Each pro In tbl.Properties
Debug.Print pro.name & "=" & pro.Value
Next
If tbl.name = "需要隐藏的表名" Then tbl.Properties.Item("JetOLEDB:Table Hidden In Access") = True
Next
End Sub
Public Function XianShiChaXun()
On Error GoTo Err_XianShiChaXun
'======================================================================================
'显示系统中所有的查询
'DoCmd.SetWarnings 0 '关闭系统提示
Dim db As Database
Dim i As Integer
Set db = DBEngine.Workspaces(0).Databases(0)
db.QueryDefs.Refresh
For i = db.QueryDefs.Count - 1 To 0 Step -1
' MsgBox db.QueryDefs(i).Name
Application.SetHiddenAttribute acQuery, db.QueryDefs(i).Name, False
'MsgBox db.QueryDefs(i).Name
Next i
Set db = Nothing
'MsgBox "当前数据库中的所有查询都已显示!", vbInformation, "系统提示"
Public Function YinCangChaXun()
On Error GoTo Err_YinCangChaXun
'======================================================================================
'隐藏系统中所有的查询,以确保不会被非法链接,
'DoCmd.SetWarnings 0 '关闭系统提示
Dim db As Database
Dim i As Integer
Set db = DBEngine.Workspaces(0).Databases(0)
db.QueryDefs.Refresh
For i = db.QueryDefs.Count - 1 To 0 Step -1
' MsgBox db.QueryDefs(i).Name
Application.SetHiddenAttribute acQuery, db.QueryDefs(i).Name, True
'MsgBox db.QueryDefs(i).Name
Next i
Set db = Nothing