Создание элементов управления в текущей форме - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь создать шаблон формы, который будет загружать настройки из таблиц. Например, у меня будет основная таблица с разными идентификаторами формы, а затем таблица текстовых полей, в которой будет список текстовых полей с идентификатором формы, который они тоже принадлежат, их положением, их значением и т.д. 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...