我的数据库存储了表单名,控件和控件属性类型值。
我希望有这样的一行代码。
Forms(i%).Controls(ControlName$)).controlpropertytype$ = NewValue
我目前正在使用选择案例结构来处理各种属性类型。有一个语句来处理它会容易得多。
使用帮助程序功能,您可以通过一行代码来实现。这是在Form1上将TextBox设置为值'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
虽然这是一个有趣的练习,但我不建议您使用这种方法。它假定可以同时找到表单和控件,但是如果找不到它们,则此一类代码会使您的应用程序崩溃。