Problemstellung:
Für 32Bit und 64Bit Office Versionen
Wie kann ich alle Objekte eines Typs aus- oder einblenden?
Public Enum ObjectType Tables = 0 Querys = 1 Forms = 2 Reports = 3 Modules = 5 Scripts = 4 End Enum Public Enum HiddenType Sichtbar = 0 Unsichtbar = -1 End Enum Public Sub HiddenObject(iTyp As ObjectType, iChange As HiddenType) On Error Resume Next Dim rst As DAO.Recordset Dim sSQL As String sSQL = "SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects WHERE " If iTyp = Tables Then sSQL = sSQL & "(((MSysObjects.Name) Not Like 'MSys*') AND ((MSysObjects.Type)=1 Or (MSysObjects.Type)=6))" ElseIf iTyp = Querys Then sSQL = sSQL & "(((MSysObjects.Name) Not Like '~*') AND ((MSysObjects.Type)=5));" ElseIf iTyp = Forms Then sSQL = sSQL & "(((MSysObjects.Type)=-32768));" ElseIf iTyp = Reports Then sSQL = sSQL & "(((MSysObjects.Type)=-32764));" ElseIf iTyp = Modules Then sSQL = sSQL & "(((MSysObjects.Type)=-32761));" ElseIf iTyp = Scripts Then sSQL = sSQL & "(((MSysObjects.Type)=-32766));" End If Set rst = CurrentDb.OpenRecordset(sSQL) Do While Not rst.EOF Application.SetHiddenAttribute iTyp, rst!Name, iChange rst.MoveNext Loop rst.Close: Set rst = Nothing End Sub
Der Funktion wird der Objekttyp und der Parameter "sichtbar" oder "unsichtbar" übergeben.
Aufruf:
HiddenObject Tables, Unsichtbar
würde alle Tabellen ausblenden
HiddenObject Tables, Sichtbar
würde alle Tabellen einblenden
Ähnliche Artikel
Weiterlesen...