2017-01-14 8 views
2

Ich versuche, .NavigationButtons Eigenschaft mehrerer MS Access Form Objekte mit VBScript zu bearbeiten.Festlegen der MS Access-Formulareigenschaft unter Verwendung von VBScript

Hier ist mein Startcode:

Dim access 
Set access = CreateObject("Access.Application") 

access.OpenCurrentDatabase "d:/mydb.accdb" 

Nun, wenn Datenbank geöffnet ist, kann ich darauf zugreifen Formen ist durch .CurrentProject.AllForms von Application Objekt aufrufen. Diese Methode gibt eine Auflistung von AccessObject Objekten zurück. Ich kann ihre Eigenschaften einstellen, indem Sie einfach .Properties.Add Methode aufrufen, aber es setzt die Eigenschaft AccessObject und es ist nicht was ich will.

Ich habe auch versucht, .Forms Eigenschaft von Application Objekt durchlaufen. Diese Eigenschaft speichert eine Sammlung von Formularen mit echten Formulareigenschaften und .NavigationButtons ist einer von ihnen. Diese Auflistung ist jedoch schreibgeschützt und ich kann für diese Eigenschaften keine neuen Werte festlegen.

Gibt es eine Möglichkeit, Form Eigenschaft von VBScript-Programm zu aktualisieren?

Antwort

2

Schließlich konnte ich es mit .CurrentProject.AllForms und .Forms Methoden von Application Objekt arbeiten lassen. Mir fehlte ein Detail - Sie müssen das Formular speichern, nachdem Sie seine Eigenschaft geändert haben.

For Each form.Name access.CurrentProject.AllForms 
    access.DoCmd.OpenForm form.Name, 1 
    access.Forms(form.Name).NavigationButtons = True 'Or another property. 
    access.DoCmd.Close 2, form.Name, 1 'Where "1" is equal to acSaveYes. 
Next 
Verwandte Themen