2017-01-14 12 views
2

VBScriptを使用して複数のMS Access Formオブジェクトの.NavigationButtonsプロパティを編集しようとしています。VBScriptを使用してMS Accessフォームプロパティを設定します。

ここに私のスタートアップコードは次のとおりです。データベースが開いているとき

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

access.OpenCurrentDatabase "d:/mydb.accdb" 

は、今私はApplicationオブジェクトの.CurrentProject.AllFormsを呼び出すことによって、それのフォームにアクセスすることができます。このメソッドは、AccessObjectオブジェクトのコレクションを返します。 .Properties.Addメソッドを呼び出すだけでプロパティを設定できますが、プロパティはAccessObjectに設定されています。

また、.FormsプロパティのApplicationオブジェクトをループしようとしました。このプロパティは、実フォームのプロパティを持つフォームのコレクションを格納し、.NavigationButtonsはそれらの1つです。ただし、このコレクションは読み取り専用で、これらのプロパティに新しい値を設定することはできません。

VBScriptプログラムからFormプロパティを更新する方法はありますか?

答えて

2

最後に、.CurrentProject.AllForms.Formsの方法を使用して動作させることができました。Applicationオブジェクトです。私は1つの詳細が欠けていた - あなたはそれがプロパティを変更した後にフォームを保存する必要があります。

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 
関連する問題