如何在运行时在VBA代码中更改MS Access子窗体的视图?

Joh*_*nFx 5 ms-access vba access-vba

这似乎是一件简单的事情,我相信我之前已经这样做了,但是我已经有一段时间了,因为我在Access中做了任何UI编程.我需要做的是在表单上放置一个按钮,在子表单的数据表和表单视图之间切换.

我找到了一个defaultview属性,但看起来它没有任何东西可以在窗体已经打开后切换它的视图.

基本上我需要我可以填写以下代码的属性..

sfEmployeeBatchEntry.Form.??? = acFormDS
Run Code Online (Sandbox Code Playgroud)

Joh*_*nFx 10

我是靠自己找到的.我错过了它,因为它使用了愚蠢而笨重的RunCommand语法,而不是控件或表单类上的简单属性或方法.

它不漂亮,但对后代来说,这就是答案.

'You have to set focus to the subform control or the change view call will'
'fail (UGH!)'
MyForm.mySubFormControl.SetFocus

'Change to datasheet view...'
DoCmd.RunCommand acCmdSubformDatasheet

'Change to Form View...'
DoCmd.RunCommand acCmdSubformFormView
Run Code Online (Sandbox Code Playgroud)