Avatar billede kryster Nybegynder
05. august 2003 - 14:47 Der er 5 kommentarer og
1 løsning

Send data fra userform til anden userform

Jeg har en userform med en listbox, denne listbox indeholder linier fra en database delt i kolonner.
navn, id

Når der bliver dobbelt klikket på en navn i listen loades en anden userform med frmOwner.Show hvor man kan se adresse og andre informationen om det valgte navn.

For at kunne finde ud af hvilket navn der skal hentes oplysninger om fra databasen skal frmOwner vide hvilket id det valgte navn har.

Dette har jeg lavet på denne måde.
Private Sub lstOwner_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  If Not IsEmpty(lstOwner.Column(1)) Then
    frmOwner.Show
  End If
End Sub

Og frmOwner
Private Sub UserForm_Initialize()
  txtId.Value = frmMain.lstOwner.Column(1)

Så har jeg id nummeret gemt på userformen Owners i et text felt.

Det er bare ikke så smart, da jeg gerne vil kunne kalde frmOwners fra andre userforms.
hvor linien txtId.Value = frmMain.lstOwner.Column(1) så melder fejl eller hvis frmMain ligger i baggrunden blot tager værdien herfra.

Er der ikke en måde hvorpå man kan sende en værdi med frmOwner.Show så den kan loades alle steder fra.

Noget ala. frmOwners.Show (”værdi af valgt navn”)

Og man så i frmOwners kan bruge denne ”værdi af valgt navn”
Avatar billede kabbak Professor
05. august 2003 - 15:22 #1
Private Sub lstOwner_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  If Not IsEmpty(lstOwner.Column(1)) Then
frmOwner.txtId.Value = frmMain.lstOwner.Column(1)' ny
  frmOwner.Show
  End If
End Sub

Og frmOwner
Private Sub UserForm_Initialize()
' txtId.Value = frmMain.lstOwner.Column(1) *** fjernes **+

prøv det
Avatar billede kryster Nybegynder
05. august 2003 - 15:52 #2
Kan man sætte værdien i et txt felt der endnu ikke er oprettet?

Er det slet ikke muligt at sende dem med som parameret, hvis der nu blev brug for at sende flere værdier, virker det lidt besværligt først at skulle oprette et text felt til dem.
Avatar billede kryster Nybegynder
05. august 2003 - 15:56 #3
Ser ikke ud til at det er muligt, feltet er tomt når frmOwners bliver loadet.
Avatar billede bak Forsker
05. august 2003 - 16:02 #4
Har du overvejet at bruge en global variabel istedet.
Dimmes i et normalt modul
Public test As String

Sub ttt()
test = "tester"
UserForm1.Show
End Sub


Private Sub UserForm_Initialize()
TextBox1.Text = test
End Sub
Avatar billede kryster Nybegynder
08. august 2003 - 14:45 #5
Jeg mener ikke det er optimalt med globale variabler, men det virker selvfølgelig, problemet er at man skal huske at sætte den til 0 eller ingen tign. for ikke at komme til at bruge et gammelt resultat.
Avatar billede kabbak Professor
09. august 2003 - 22:35 #6
denne virker, men den kommer med timeglas når man vender tilbage til frmMain.


Private Sub lstOwner_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  If Not IsEmpty(lstOwner.Column(1)) Then
  Load frmOwner
    frmOwner.txtId.Value = frmMain.lstOwner.Column(1)
  frmOwner.Show
  End If
End Sub
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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