Gå til innhold

Hente verdier fra en annen form


Anbefalte innlegg

Skrevet (endret)

Hei

Driver og mekker på en lite kalkulator her (ikke spesielt komplisert i grunnen), så hadde jeg tenkt å lage en form der jeg kunne stille på om det skulle kommer både dataene og svaret (f.eks 2 + 2 = 4) i SUM-boksen (tekstboks), eller om det bare skulle komme svar (f.eks 4).

 

Koden for addisjon ser slik ut ( :blush: )

Private Sub cmdPluss_Click()
Dim Ledd As Double, Ledd2 As Double, Sum As Double

   Ledd = txtPrim.Text
   Ledd2 = txtSek.Text
   Sum = Ledd + Ledd2
   
   If optSporsmalSvar.Value = True Then
       txtSum.Text = Ledd & " + " & Ledd2 & " = " & Sum
   ElseIf optBareSvar.Value = True Then
       txtSum.Text = Sum
   End If
End Sub

 

Option-boksene heter "optSporsmalSvar" og "optBareSvar", option-formen heter "frmOptions".

 

Hva har jeg gjort feil?? :dontgetit:

 

 

Edit: Alt funker helt greit når jeg har option-boksene i samme form som "utregningen skjer", men når jeg flytter dem over i option-formen får jeg opp "'424' Object required".

Endret av endrebjorsvik89
Videoannonse
Annonse
Skrevet

Skal du hente verdier fra kontroller tilhørende en annen form må du skrive navnet på denne formen i syntaksen. Slik f.eks som dette:

 

MsgBox Form2.optSporsmalSvar.Value

Skrevet
Skal du hente verdier fra kontroller tilhørende en annen form må du skrive navnet på denne formen i syntaksen. Slik f.eks som dette:

 

MsgBox Form2.optSporsmalSvar.Value

Funker som hånd i hanske :thumbup:

 

*bøyer meg i støvet og takker og bukker for din enorme viten*

Skrevet

Har et problem til :blush:

 

Når jeg lager en frame og legger de to option-boksene inni den får jeg opp: "Compile Error - Method or data member not found"

 

Private Sub cmdPluss_Click()
Dim Ledd As Double, Ledd2 As Double, Sum As Double

   Ledd = txtPrim.Text
   Ledd2 = txtSek.Text
   Sum = Ledd + Ledd2
   
   If frmOptions.fraSumFelt.optSporsmalSvar.Value = True Then
       txtSum.Text = Ledd & " + " & Ledd2 & " = " & Sum
   ElseIf fraSumFelt.frmOptions.optBareSvar.Value = True Then
       txtSum.Text = Sum
   End If
End Sub

 

("fraSumFelt" er frame'n)

 

Hva er galt?? :no:

Skrevet

Når du skal hente informasjon fra kontroller i en frame er det ikke nødvendig å skrive navnet på framet. Dette trengs kun når du henter informasjon fra en annen form. Koden blir derfor slik:

 

Private Sub cmdPluss_Click()
Dim Ledd As Double, Ledd2 As Double, Sum As Double

  Ledd = txtPrim.Text
  Ledd2 = txtSek.Text
  Sum = Ledd + Ledd2
  
  If frmOptions.optSporsmalSvar.Value = True Then
      txtSum.Text = Ledd & " + " & Ledd2 & " = " & Sum
  ElseIf frmOptions.optBareSvar.Value = True Then
      txtSum.Text = Sum
  End If
End Sub

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...