能否用 set FRM = txtFRMNAME 这样的方式来调用某个窗体
txtFRMNAME里面是窗体名称,比如frmSEARCH,现在我希望调用frmSEARCH里面的某个控件:
dim FRM as form
set FRM = txtFRMNAME
FRM.txtRESULT = "********* "
这样做是不行的,有没有类似的办法?不要用for each FRM in forms,这个方法我知道,想找找更简单直观的方法。
[解决办法]
这样做应该是类型不匹配了吧,你是想把txtFRMNAME里面的值作为窗体名赋给FRM吗?
[解决办法]
Option Explicit
Private Sub Command1_Click()
Select Case Text1
Case 1
SetObj Form2, "ok1 "
Case 2
SetObj Form3, "ok2 "
End Select
End Sub
Sub SetObj(frm As Form, str As String)
frm.Text1 = str
frm.Show
End Sub
[解决办法]
callByName() 可以做到类似的功能
[解决办法]
Option Explicit
Private Sub setObj(strName As String)
Dim myForm As Form
Set myForm = Forms.Add(strName)
myForm.Text1.Text = "aaa "
myForm.Show
Set myForm = Nothing
End Sub
Private Sub Command1_Click()
setObj Text1.Text
End Sub
[解决办法]
在标准模块里定义1个全局变量 Public blFlag As Boolean
Private Sub Form_Load()
If blFlag Then
MsgBox "loaded "
Else
MsgBox "the first load "
'你要处理的代码
End If
End Sub