的错误信息是明确的:这是一个只能在设计视图中设置属性。
所以你必须切换视图,设置属性,切换回来。
我会把它放到一个标准模块中,而不是放到表单模块中。
Private Sub SwitchView_Click()
Call SwitchDefaultView(Me)
End Sub
' in standard module
Public Sub SwitchDefaultView(frm As Form)
Dim sFrm As String
' Make sure the current record is (and can be) saved
On Error Resume Next
frm.Dirty = False
If Err.Number <> 0 Then MsgBox Err.Description: Exit Sub
On Error GoTo 0
sFrm = frm.Name
' Switch to Design view
DoCmd.OpenForm sFrm, acDesign
Forms(sFrm).DefaultView = 1 ' Continuous form
' DoCmd.Save acForm, sFrm ' optional
' Switch back to Form view
DoCmd.OpenForm sFrm, acNormal
End Sub
虽然我想知道:通常一个表单是为连续或单一形式设计的。我很难想象这个开关的用例。
我终于明白,没有这种方式可以直接从单一形式转换为连续形式。但是你提供了一个很好的解决方法。 –