2017-01-14 28 views
2

我试图编辑.NavigationButtons使用VBScript的多个MS Access对象的属性Form对象。使用VBScript设置MS Access窗体属性

这里是我的启动代码:

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

access.OpenCurrentDatabase "d:/mydb.accdb" 

现在,当数据库是开放的,我可以通过调用Application对象.CurrentProject.AllForms访问它的形式。此方法返回一个AccessObject对象的集合。我可以通过简单地调用.Properties.Add方法来设置它们的属性,但它设置了AccessObject的属性,这不是我想要的。

我也尝试循环.FormsApplication对象的属性。该属性存储一组具有真实表单属性的表单,.NavigationButtons就是其中之一。但是,此集合是只读的,我无法为这些属性设置新值。

有什么办法可以从VBScript程序更新Form属性?

回答

2

最后,我能够使用对象的.CurrentProject.AllForms.Forms方法工作。我错过了一个细节 - 在更改属性后必须保存表单。

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