Я пытаюсь создать шаблон формы, который будет загружать настройки из таблиц. Например, у меня будет основная таблица с разными идентификаторами формы, а затем таблица текстовых полей, в которой будет список текстовых полей с идентификатором формы, который они тоже принадлежат, их положением, их значением и т.д. c. Проблема заключается в том, что когда я открываю форму в режиме разработки, код не запускается, и если я пытаюсь установить представление в режим разработки, я получаю сообщение об ошибке «вы не можете переключиться на другое представление в настоящее время» с кодом 2174 . вот код, который я использую прямо сейчас, все значения жестко запрограммированы, поэтому я знаю, что у меня нет ошибок с чтением из базы данных или чем-то еще. Приветствуется любая помощь!
Option Compare Database
Private Sub Form_Load()
loadSettings
End Sub
Private Sub loadSettings()
Dim ctl As Access.Control
On Error GoTo ERR_Line
DoCmd.RunCommand acCmdDesignView
Set ctl = CreateControl(Me.Name, acTextBox, acDetail, , , 100, 100, 100, 100)
ctl.Name = "txt1"
ctl.Value = "test"
DoCmd.RunCommand (acCmdFormView)
ERR_Line:
MsgBox Err.Description & " Error Number " & Err
End Sub
Если я использую модуль с этим кодом в нем, он go перейдет в режим разработки, но выдает сообщение «Microsoft Access не может добавить, переименовать или удалить элемент управления ( s) вы просили ". номер ошибки 29054.
Option Compare Database
Sub loadSettings(frmName As String)
Dim frm As Form
Dim ctl As Access.Control
On Error GoTo ERR_Line
Set frm = Application.Forms(frmName)
DoCmd.Close acForm, frmName
DoCmd.OpenForm frmName, acDesign
Set ctl = CreateControl(frmName, acTextBox, acDetail, , , 100, 100, 100, 100)
ctl.Name = "txt1"
ctl.Value = "test"
DoCmd.Close acForm, frmName, acSaveYes
DoCmd.OpenForm frmName, acNormal, , , , , "asdf"
ERR_Line:
MsgBox Err.Description & " Error Number " & Err
End Sub