Avatar billede sigyn Seniormester
09. november 2017 - 13:22 Der er 8 kommentarer og
1 løsning

Åbne formular til indtastning, med bestemt anatal poster

Jeg tror faktisk, at mit spørgsmål er ret simpelt, jeg kan bare ikke lige selv gennemskue det.
Jeg har to tabeller. I simpel form indeholder den ene
Batchnr og AntalEnheder
Den anden
Løbenr, Batchnr, EnhedNr og Klokkeslet
Det jeg har brug for, er at når man i den første tabel, via formular med knap noterer, at man har x antal enheder på en batch, skal underformularen åbnes med tilsvarende x antal poster, hvor man så uden for hver kan taste klokkeslettet
Avatar billede terry Ekspert
09. november 2017 - 14:10 #1
Are you saying you want to create x number (antal) of records in the second table
so Løbenr is 1 to X,  BatchNr = Batchnr in first table. Where does EnhedNr come from?

You may need to explain in more detail...
Avatar billede sigyn Seniormester
10. november 2017 - 08:13 #2
Løbenr er bare en autonummerering, der vil jo blive mange med tiden
BatchNr=Batchnr, det er bare mig der ikke har været konsekvent med de store bogstaver
EnhedNr er 1 til x
Så det jeg gerne vil, er at hvis man får 6 enheder af batch yy, åbnes 6 poster i den anden tabel, hvor man så bare skal taste klokkeslettet fre enheden. Der kan godt være flere enheder med samme klokkeslet
Jeg ved godt, at man bare kan åbne den anden tabel, og så taste de 6 poster "løbende", men af hensyn til brugeren vil jeg gerne, at den åbner med det eksakte antal poster.
Har jeg evt. brug for en tredie tabel med antal enheder i de forskellige varianter?
Avatar billede terry Ekspert
10. november 2017 - 09:43 #3
"Har jeg evt. brug for en tredie tabel med antal enheder i de forskellige varianter? "

I see no mention of variants!

Again you are going to have to explain in more detail.

You need to give the full picture of what you want to do. Its best to have the design of your tables in place BEFORE you start making the forms etc.
Avatar billede sigyn Seniormester
10. november 2017 - 10:00 #4
Jeg ved ikke helt, hvordan jeg skal forklare det bedre, men jeg skal prøve.
Når man modtager x antal enheder, f.eks. 6, af batch yy, skal de registreres ind i et system, så vi kan se, at vi har de 6 enheder, og at de er mærket med klokkeslet det og det. Så den, der taster det ind i systemet, skal taste batchnummeret, her yy, og 6 i feltet AntalEnheder, og herefter trykke på en knap, som åbner den næste formular (tabel 2), hvor der så vil være 6 rækker, gerne med tallene 1-6 "fortrykt" i feltet EnhedNr, så vedkommende bare skal udfylde klokkeslettet ud for hver af de seks enheder.
Avatar billede terry Ekspert
10. november 2017 - 10:29 #5
I understand that, but you mentioned variants and I dont see that anywhere in your explanation

The BatchNr is the relationship between both tables. If there are different types of "Enheder" and you need to know that then that information has to exist somewhere????

I have no idea what this system will be used for so I can only use the information you give to make suggestions on how to make the system.
Avatar billede sigyn Seniormester
10. november 2017 - 10:37 #6
Det er et system til opbevaring af referenceprøver, så vi kan se, at vi af batch yy har 6 prøver liggende, og at de er udtaget på de givne klokkeslet, og ja, der kan godt være forskellige slags enheder, men det er ikke relevant lige her, det er kun antallet, og klokkeslettet. Antallet pr. batch vil næsten altid være det samme, men der kan være forskelle.
Jeg skal have forskellige andre informationer med i tabellerne også, men det har jeg styr på
Avatar billede terry Ekspert
10. november 2017 - 13:07 #7
OK, here's some vba code which will create the records and then open a form showing them.
The code is executed when you press a button (btnInsert).
It also checks if the Enheder already exist for this batch and that the number is  the same as AntalEnheder


Private Sub btnInsert_Click()
Dim iAntal As Integer
Dim i As Integer


iAntal = DCount("*", "tblEnheder", "Batchnr = '" & Me.Batchnr & "'")


    If iAntal = Me.AntalEnheder Then
   
        MsgBox Me.AntalEnheder & " units already exist!", vbExclamation
        Exit Sub
       
    End If
    If iAntal <> 0 Then
        MsgBox "There is a difference between AntalEnheder (" & Me.AntalEnheder & ")and the number which already exist (" & iAntal & ")"
        Exit Sub
    End If
   
    DoCmd.SetWarnings False
    For i = 1 To Me.AntalEnheder
   
    DoCmd.RunSQL "INSERT INTO tblEnheder (Batchnr, EnhedNr) VALUES( '" & Me.Batchnr & "',  " & i & ")"
   
   
    Next i
   
    DoCmd.SetWarnings True
   
   
    DoCmd.OpenForm "frmEnheder", acNormal, , "Batchnr = '" & Me.Batchnr & "'"
   

End Sub
Avatar billede sigyn Seniormester
13. november 2017 - 13:10 #8
Tusind tak, det var lige det jeg søgte
Avatar billede terry Ekspert
13. november 2017 - 13:55 #9
Selv tak :-)
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

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