Установить значение свойства из базы данных свойств - PullRequest
0 голосов
/ 26 марта 2020

В моей базе данных хранится значение типа свойства name, control и control.

Я хотел бы получить строку кода, подобную этой.

Forms(i%).Controls(ControlName$)).controlpropertytype$ = NewValue

В настоящее время я использую выберите структуру дела для обработки различных типов свойств. Было бы намного проще, если бы о нем заботилось одно заявление.

1 Ответ

2 голосов
/ 26 марта 2020

Используя вспомогательную функцию, вы можете достичь этого с помощью одной строки кода. Вот пример установки TextBox в Form1 для значения 'aaa':

Option Explicit

Private Sub Test()
   CallByName FindForm("Form1").Controls("Text1"), "Text", VbLet, "aaa"
End Sub

Public Function FindForm(ByVal Name As String) As Form
   Dim f As Form

   For Each f In Forms
      If UCase(f.Name) = UCase(Name) Then
         Set FindForm = f
         Exit Function
      End If
   Next
End Function

Хотя это интересное упражнение, я бы не рекомендовал этот подход. Предполагается, что форма и элемент управления могут быть найдены, но если они не могут быть найдены, эта однострочная строка взломает sh ваше приложение.

Вот документация для CallByName .

...