Hello Igen Jag är lite osäker på den här lösningen men kanske går det att använda CreateObject i kombination med CallByName. Det jag är mest osäker på är om CreateObject kan skapa formulär, men om du väl lyckas med det så kan du ju använda CallByName för att anropa Show-metoden på formuläret. Låter som Dålig design. Kan du förklara närmare vad du vill göra? Varför du får namnet som en sträng? Jag har löst problemet genom att använda callbyName() Viste inte att det fanns en add metod på Forms Collection'en. Menn varför använda CallByName? Det är ju bara dumt när det lika väl fungerar med:Ladda formulär mha textsträng
Jag vill visa ett formulär och har namnet på detta formulär som en textsträng.
Hur gör jag för att öppna formuläret mha den strängen ( alltså formulärets namn).
Jag vill INTE ladda formuläret av defaullt i uppstart av programmet !! Dvs det kommer inte att ligga i i Forms collection.
Några tips ??
NettanSv: Ladda formulär mha textsträng
/Per HultqvistSv: Ladda formulär mha textsträng
Jag föreslår att du skriver en function:
<code>
Function CreateForm(Name As String) As Form
Select Case Name
Case "Form1"
Set CreateForm = New Form1
Case "Form2"
Set CreateForm = New Form2
Case "Form3"
Set CreateForm = New Form3
'osv...
End Select
End Function
</code>
Anropa den sedan så här:
<code>
Dim frmForm as Form
Set frmForm = CreateForm("Form1")
frmForm.Show
</code>Sv: Ladda formulär mha textsträng
<code>
Set rst = con.Execute("select bildID from tblNoder where nodnamn='" & Label1(Index).Tag & "'")
Set FF = CallByName(Forms, "add", VbMethod, rst!bildID)
FF.Show
</code>Sv: Ladda formulär mha textsträng
<code>
Set rst = con.Execute("select bildID from tblNoder where nodnamn='" & Label1(Index).Tag & "'")
Set FF = Forms.Add(rst("bildID"))
FF.Show
</code>