HEJ! Antingen: Då måste du först se till att rutinen du vill köra i det andra formuläret är satt till public. Om du sedan skall skicka in värden till den så måste du ange detta:Starta sub vid byte av fönster
Jag har ett projekt med två fönster i. Jag startar först i det ena och läser in lite värden. När det är klart vill jag byta fönster och sen starta en sub rutin som finns i den andra formen.
form1.hide
form2.show
Efter jag skrivit det i form1 går får en knapp i form2 focus och jag vet inte hur jag ska få en sub att starta.
Någon som har något bra förslag.Sv: Starta sub vid byte av fönster
form2.minsub
Eller om du vill att den ska köras varje gång fönstret aktiveras anropar du den i formulärets Activate-event.
/JohanSv: Starta sub vid byte av fönster
Ex:
Kallar på en rutin i ett annat formulär.
<Code>
'## En knapp som kallar på en annan subrutin
Private Sub cmdOK_Click()
Dim intEttVarde as Integer
intEttVarde = 1
' ## Kallar på rurinen
' Form2 = står för formuläret du vill skicka till
' .Hamta_Varden = Är den publika rutinen som du vill anropa
' intEttVarde = är ett värde som du skickar med rutinenn som du vill fånga upp på andra sidan
Form2.Hamta_Varden intEttVarde
' OM du börjar att skriva formulärnamnet och sedan trycker på . så kommer dina publika subrutiner att visas som en genväg.
' Öppnar det andra formuläret
From2.show
End Sub
</Code>
Sedan på motagrasidan gör du så här.
<Code>
Public Sub Hamta_Varden(ByVal p_intEttVarde as integer)
'## I ByVal definerar du en mottagarvariabel som fångar upp det värdet du skickar in i Subrutinen.
form1.hide 'Stänger det andra formuläret. Kan du göra direkt när du har anropat rutinen i det andra formuläret.
msgBox("Här är mitt värde" & p_intEttVarde &"")
End Sub
</Code>
Det borde göra susen
/Phinala