29. december 2002 - 20:15Der er
21 kommentarer og 2 løsninger
Overføre data fra form1 til form2
Ved hjælp af denne kode vil jeg gerne have overført data fra form1 til form2. Det lykkes i første omgang, men når jeg gentager processen, "hænger" de gamle data fra form1 stadig på form2. Hvordan overfører jeg - og nulstiller? form1 Private Sub Check1_Click() If Check1.Value = 1 Then Form2.Show 1 Form2.Text5.Visible = True Form2.Text4 = Form1.Text4 Check1.Value = 0 End If End Sub
form2 Private Sub Command1_Click() Unload Me Text4.Text = "" End Sub
Samme negative resultat. Første gang jeg overfører, er det måske tallet 23, der skal overføres, og det går fint. Når jeg vender tilbage til form1 og arbejder videre, er det måske tallet 37, der skal overføres. Men så "hænger" tallet 23 fra 1. overførsel stadig i text4.text i form2. Der må altså en eller anden clear funktion til, når jeg forlader form2?
Det hele virker - som i min oprindelige kode - men jeg skal gå fra form1 til form2 gange for at få overført de nye data. Jeg fremkalder ved en handling i form1 en tekst i text4.text. Denne tekst skal jeg arbejde videre med på form2. Fra før: tallet 23 overføres fint til form2. Når jeg vender tilbage til form1 og får fremkaldt tallet 37 i text4.text og skal overføre dette til form2, står der stadig 23 (den tidligere overførsel). Går jeg så tilbage til form1 endnu engang overføres tallet 37 når jeg næste gang går til form2. Men det er ikke meningen. Tallet skal overføres for hver gang. Er det til at forstå hvad jeg mener? Text4.Text = Form1.Text4.Text
Næh, for problemet er, så vidt jeg kan se, at ved skift til form2 bliver text4.text i form 1 ikke overført til text4.text i form2. Tallet i text4.text i form2 (det overførte), skal nemlig udløse en ny handling, text5 change og den indtræder ikke. Der mangler altså en kobling eller et klik.
Jo den bliver vist, men ikke loadet, hvis den skal ligge i form load, så skal form2 unloades hver gang du forlader den og loades når du går ind i den.......
'Form1 Private Sub Check1_Click() If Check1.Value = 1 Then Form2.Text5.Visible = True Form2.Text4 = Form1.Text4 Check1.Value = 0 Form2.Show 1 End If End Sub
'Form2 Private Sub Command1_Click() Text4.Text = "" Unload Me End Sub
>sjh Fint. Nu hænger tallet ikke længere. Men så det sidste problem: når jeg så kommer over på form2 med tallet 8, jf. nedenfor, skal der gerne ske dette: Private Sub Text5_Change() If Text4.Text = "8" Then Text5.Text = "§ 1." Else Text5.Text = "Ingen forbindelse" End If End Sub men der sker ingenting. Form2 har altså ikke opdaget, at der står "8" i form2.text4.text? eller er min kode forkert.
>tubber Der skal stå 8 uden "". Det var bare for at tydeliggøre. Men det er måske forkert at anvende Private Sub Text5_Change()? Er det derfor der intet sker?
Takker :O) Og jo sagtens :O) Jeg fik vist mere ud af det end sjh ehhehe både points og lidt viden hehehhe
Synes godt om
Ny brugerNybegynder
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.