A种:
第一步:从数据库表中获得一个窗体的名称:
Public Function FormName(BillNameStr As String) As String
'BillNameStr-窗体名称
Ssql = "SELECT BillName FROM Gy_BillType WHERE BillTypeName='" & BillNameStr & "'"
SQLquery Ssql, Rs
If Not (Rs.BOF And Rs.EOF) Then
FormName = Trim(Rs("BillName"))
End If
Rs.Close
End Function
第二步:将获得的窗体名为FormName()的窗体显示出来
dim strFrm as string
FormName(strForm).show
以上提示为类型不配
________________________________________________________B种:将A种第一步的写义为
Public Function FormName(BillNameStr As String) As Form
却提示:
不能给窗体赋值,,,请问,这有什么办法??
高手们,,请指点啊.....
第一步:从数据库表中获得一个窗体的名称:
Public Function FormName(BillNameStr As String) As String
'BillNameStr-窗体名称
Ssql = "SELECT BillName FROM Gy_BillType WHERE BillTypeName='" & BillNameStr & "'"
SQLquery Ssql, Rs
If Not (Rs.BOF And Rs.EOF) Then
FormName = Trim(Rs("BillName"))
End If
Rs.Close
End Function
第二步:将获得的窗体名为FormName()的窗体显示出来
dim strFrm as string
FormName(strForm).show
以上提示为类型不配
________________________________________________________B种:将A种第一步的写义为
Public Function FormName(BillNameStr As String) As Form
却提示:
不能给窗体赋值,,,请问,这有什么办法??
高手们,,请指点啊.....
第二步:将获得的窗体名为FormName()的窗体显示出来
dim strFrm as string
strFrm=text1 '有加上这一句
FormName(strForm).show
以上提示为类型不配
你把函数声明为FORM,只是表示该函数的返回值是一个FORM对象,你可以把这个FORM给SHOW出来,但不表示你可以用这种形式来SHOW的,你可能写惯了网页脚本:
document.all(objectname).style.visibility=visible可以把由字符串指示的对象给显示出来(如果它之前是HIDDEN的话),
Private Sub Command1_Click()
Dim sfrmName As String
Dim ofrm As Form
sfrmName = "Form2"
Set ofrm = Forms.Add(sfrmName)
ofrm.ShowEnd Sub
Dim sfrmName As String
Dim ofrm As Form
sfrmName = "Form2"
Set ofrm = Forms.Add(FormName(sfrmName))
ofrm.Show
End Sub
Public Function FormName(BillNameStr As String) As String
'BillNameStr-窗体名称
Ssql = "SELECT BillName FROM Gy_BillType WHERE BillTypeName='" & BillNameStr & "'"
SQLquery Ssql, Rs
If Not (Rs.BOF And Rs.EOF) Then
FormName = Trim(Rs("BillName"))
End If
Rs.Close
End Function你要的!
实时错误'424'
要求对像错误指向:
Set ofrm = Forms.Add(FormName(sfrmName))
这句的Form2哪里来的??
在我的工程里,
Form2也即是
sfrmName = FormName(sfrmName)
Private Function ShowForm(ByVal frmName As String) As Boolean
Dim frmTemp As Form
For Each frmTemp In Forms
If frmTemp.Name = frmName Then
frmTemp.Show
ShowForm = True
Exit Function
End If
Next
End Function
在别的地方直接调用就可以了。
如下的调用:
if ShwoForm("frmOrder") then
msgbox "显示成功",vbokonly,"提示信息"
else
msgbox "没有对应的窗口",vbokonly,"提示信息"
end if
selecct case strFrm
case "frm1"
frm1.show 1
case "frm2"
frm2.show 1^^^^^^^^^^^^^
end select
Stupid solution is the best solution,what can i say.