Avatar billede mansoor Nybegynder
24. november 2000 - 15:06 Der er 10 kommentarer og
1 løsning

Vise en sum

Hej

Jeg eer ved at lave en database til at registrering af tilmelding i forskellige idrætsgrene.

Jeg har laven en label, hvor jeg i labels.caption lægger alle tallene sammen - og det virker, når jeg indtaster tallene.

Mit problem er følgende: kommer jeg til en post hvor deltagerantal allerede er indtaste, kan jeg ikke  finde ud af hvorr jeg skal opdaterer labelen, Jeg ledte efter en hændelse som hed noget med \"opdater ved indgang til ny post\" men jeg har ikke kunnet finde noget.

Er der nogen som har en løsning på problemmet.


MMit problem er hvo
Avatar billede janbangm Nybegynder
24. november 2000 - 15:15 #1
Hej

Jeg har et forslag som jeg ikke ved om der er rigtigt. Jeg ville nok bruge Ved Aktuel som køre hvergang du skifter post. Så ville jeg finde et eller andet som kun gælder for nye poster f.eks. id is null, Du kan så lave en if sætning der gør, at hændeelsen kun køre hvis if sætning er sand
Avatar billede mansoor Nybegynder
24. november 2000 - 15:20 #2
Hej
Det har jeg prøvet, men så får jeeeg en meddelse om at jeg skal sætte focus, men jeg kan bare ikke finde ud af hvad jeg skal sætte focus på
Avatar billede jalle Nybegynder
26. november 2000 - 09:09 #3
Prøv at skrive din kode, så kan det være at vi bedre kan hjælpe.
Avatar billede mansoor Nybegynder
26. november 2000 - 10:18 #4
Hej  jalle

Sådan ser koden ud:

Option Compare Database
Option Explicit

Dim Ialt As Integer




Private Sub Antal_Deltagere_Atletik_Exit(Cancel As Integer)
    Ialt = Ialt + Int(Antal_Deltagere_Atletik.Text)
    lblIalt.Caption = Str(Ialt)
End Sub


Private Sub Antal_Deltagere_Boccia_Exit(Cancel As Integer)
    Ialt = Ialt + Int(Antal_Deltagere_Boccia.Text)
    lblIalt.Caption = Str(Ialt)
End Sub

Private Sub Antal_Deltagere_Elhockey_Exit(Cancel As Integer)
    Ialt = Ialt + Int(Antal_Deltagere_Elhockey.Text)
    lblIalt.Caption = Str(Ialt)
End Sub

Private Sub Antal_Deltagere_Fodbold_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_Fodbold.Text)
    lblIalt.Caption = Str(Ialt)

End Sub
Private Sub Antal_Deltagere_Floorball_Exit(Cancel As Integer)
    Ialt = Ialt + Int(Antal_Deltagere_Floorball.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_Goalball_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_Goalball.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_Gymnastik_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_Gymnastik.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_KoerestolsBasket_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_KoerestolsBasket.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_KoerestolsFodbold_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_KoerestolsFodbold.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_KoerestolsRugby_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_KoerestolsRugby.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_Sejlads_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_Sejlads.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_Skydning_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_Skydning.Text)
    lblIalt.Caption = Str(Ialt)

End Sub

Private Sub Antal_Deltagere_Svoemning_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_Svoemning.Text)
    lblIalt.Caption = Str(Ialt)

End Sub


Private Sub Antal_Deltagere_Traener_Leder_Haelper_Exit(Cancel As Integer)

    Ialt = Ialt + Int(Antal_Deltagere_Traener_Leder_Haelper.Text)
    lblIalt.Caption = Str(Ialt)

End Sub


Et andet problem er at hvis der f.eks. står et tal i forvejen f.eks. 5 og jeg så isteden skriver 4, så kan jeg ikke finde udaf hvordan jeg førstv trækker 5 fra og derefter lægger 4 til.
Avatar billede jalle Nybegynder
26. november 2000 - 10:43 #5
Prøv at ændre:

Dim Ialt As Integer

med:

Global Ialt As Integer


Prøv at sætte nedenstående kode ind nederst i koden.
Ændre derefter dine private sub med denne linie:

tal = Tekstboxnavn_hvorfra_tallet_kommer_fra

og tilføje denne linie øverst:

Global tal As Integer
Public Function Beregn()

If tal < 0 Then
Ialt = Ialt - tal
lblIalt.Caption = Str(Ialt)
ELse
Ialt = Ialt + tal
lblIalt.Caption = Str(Ialt)
End If
End Function
Avatar billede mansoor Nybegynder
26. november 2000 - 10:56 #6
Hej Jalle!

Da jeg er nybegynder, ville du så lave det for mig, da jeg ikke er helt med på hvad du mener
Avatar billede jalle Nybegynder
26. november 2000 - 13:03 #7
Erstat nedenstående med det tidligere forudsat at din kode virker, ellers laver vi det på en anden måde.

Global Ialt As Integer
Global tal As Integer

Private Sub Antal_Deltagere_Atletik_Exit(Cancel As Integer)
    tal = Int(Antal_Deltagere_Atletik.Text)
    Beregn(tal)
End Sub


Private Sub Antal_Deltagere_Boccia_Exit(Cancel As Integer)
    tal = Int(Antal_Deltagere_Boccia.Text)
    Beregn(tal)
    End Sub

Private Sub Antal_Deltagere_Elhockey_Exit(Cancel As Integer)
    tal = Int(Antal_Deltagere_Elhockey.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Fodbold_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_Fodbold.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Floorball_Exit(Cancel As Integer)
    tal = Int(Antal_Deltagere_Floorball.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Goalball_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_Goalball.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Gymnastik_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_Gymnastik.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_KoerestolsBasket_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_KoerestolsBasket.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_KoerestolsFodbold_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_KoerestolsFodbold.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_KoerestolsRugby_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_KoerestolsRugby.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Sejlads_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_Sejlads.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Skydning_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_Skydning.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Svoemning_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_Svoemning.Text)
    Beregn(tal)
End Sub

Private Sub Antal_Deltagere_Traener_Leder_Haelper_Exit(Cancel As Integer)

    tal = Int(Antal_Deltagere_Traener_Leder_Haelper.Text)
    Beregn(tal)
End Sub

Sub Beregn
If tal < 0 Then
Ialt = Ialt - tal
lblIalt.Caption = Str(Ialt)
ELse
Ialt = Ialt + tal
lblIalt.Caption = Str(Ialt)
End If
End Sub

Det jeg gør, er at samle beregningen et sted og derefter henvise til den fra de forskellige private sub.
Avatar billede mansoor Nybegynder
26. november 2000 - 13:39 #8
Hej Jalle

Global, betyder det at jeg skal lægge variablerne + functionen c ud i et modul for sig selv.
Avatar billede jalle Nybegynder
26. november 2000 - 13:53 #9
Nej det behøver du ikke. De kan bruges af alle. Det er lige meget hvor de ligger.
Avatar billede mansoor Nybegynder
26. november 2000 - 14:02 #10
Hej Jalle

Når jeg køre dette program, får jeg følgende fejl:
Compile Error:
Wrong number of arguments or invalid property assignment
og den markerer Beregn med blåt.
Avatar billede jalle Nybegynder
26. november 2000 - 19:59 #11
Prøv at slette (tal) i linien, så der kun står Beregn
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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