Avatar billede thefatman Nybegynder
16. juli 2003 - 00:19 Der er 3 kommentarer og
2 løsninger

Overfører variabler imellem forms

heyza

Hvordan overfører jeg en varible jeg har i min form1 til min form2?
Avatar billede thefatman Nybegynder
16. juli 2003 - 00:23 #1
og her er et spørgsmål mere:

Private Sub Command3_Click()
MsgBox "Vil du slette: " & List1 & "??", 1, "Delete?"
If MsgBox = vbOK Then
msgbox "Slettet"
end if
End Sub

Hvorfor virker det ikke? JEg får fejlen "Argument not optional"


Hvorfor vil det ikke virke?
Avatar billede sjh Nybegynder
16. juli 2003 - 00:26 #2
'----------- Module1 -----------
Option Explicit

Public strOverfører As String
'----------- Module1 -----------

'------------ Form1 ------------
Option Explicit

Private Sub Command1_Click()
  strOverfører = "Test"
End Sub
'------------ Form1 ------------

'------------ Form2 ------------
Option Explicit

Private Sub Command1_Click()
  Me.Caption = strOverfører
End Sub
'------------ Form2 ------------
Avatar billede sjh Nybegynder
16. juli 2003 - 00:28 #3
Private Sub Command3_Click()
Dim ret As Long
ret = MsgBox("Vil du slette: " & List1 & "??", 1, "Delete?")
  If ret = vbOK Then
    MsgBox "Slettet"
  End If
End Sub
Avatar billede martin_moth Mester
16. juli 2003 - 16:39 #4
Tror at det er 10. gang jeg skriver følgende:

Variabler der er erklæret i en sub - uanset om denne sub er i et modul eller på en form - er kun synlige for Sub'ben

Variabler der er erklæret som Private i et eksternt modul kan tilgås fra alle subs i det pågældende modul.

Variabler der er erklæret som Public i et eksternt modul kan tilgås direkte fra alle forme, fx. ved Modul1.Variabelnavn = Værdi

Variabler der er erklæret i som Private i toppen af en form's kodevindue (udenfor en sub) kan tilgås fra alle subs på formen

Variabler der er erklæret i som Public toppen af en form's kodevindue (udenfor en sub) kan tilgås fra alle subs på formen SAMT andre forms ved fx. Form1.variabelnavn = Værdi

Altsammen står i detaljer på msdn.microsoft.com:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconunderstandingscopeofvariables.asp
Avatar billede martin_moth Mester
16. juli 2003 - 16:42 #5
MHT. din msgbox:

Sætter du beskedden i parantes, returnerer msgbox en værdi (som en function), gør du ikke, returnerer den ikke en værdi (som en Sub)

Altså skal du rette til

If VBOK = MsgBox("Vil du slette: " & List1 & "??", 1, "Delete?") then
  'slet hvad der skal slettes 
  msgbox "Slettet"
end if
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging