06. januar 2006 - 12:25
Der er
3 kommentarer
Samme data i tre tabeller
Jeg har tre tabeller som alle skal have et felt som heder SampleID og skal være ens i alle tre tabeller. Er det muligt at få en formular til at indsætte den samme kode i alle tre tabeller i et hug, så man slipper for at taste koden tre gange?
og hvordan gør man?
mvh AH74
06. januar 2006 - 13:09
#1
Øh ... "indsætte den samme kode i alle tre tabeller i et hug"
- Taler vi om at oprette en ny post i hver af de tre tabeller?
- Ellers skal man opdatere en allerede eksisterende post?
- Er der ikke andre felter, der skal gemmes?
Opgaven kan løses med en smule VBA kode; men den skal lige defineres klart først ;o)
08. januar 2006 - 17:04
#2
Scenariet er at vi modtager en prøve og denne prøve får så et SampleID (som bare er et nummer som stiger fortløbende). Der genereres forskellige data ud fra denne prøve og disse data skal så gemmes i 3 forskellige tabeller, dog under samme SampleID så vi kan finde prøven igen. Min tanke var så at ved hjælp af én formular at kunne indtaste data til alle tre tabeller dog uden at skulle indtaste den samme SampleID tre gange.
09. januar 2006 - 22:14
#3
Hvis vi forestiller os, at felterne i din formular er ubundne (altså ikke hægtet op på en bestemt tabel) vil du kunne oprette posterne ved klik på en OK knap el.lign. via VBA. f.eks.:
INSERT INTO Tabel1 (SampleIDRef, Felt1, Felt2, Felt3) SELECT Me.SampleID, Me.Felt1, Me.Felt2, Me.Felt3;
INSERT INTO Tabel2 (SampleIDRef, Felt1, Felt2, Felt3) SELECT Me.SampleID, Me.Felt4, Me.Felt5, Me.Felt6;
INSERT INTO Tabel3 (SampleIDRef, Felt1, Felt2, Felt3) SELECT Me.SampleID, Me.Felt7, Me.Felt8, Me.Felt9;
Kaldene kan du foretage gennem en rutine, hvor du bruger en konstruktion i stil med
DoCmd.SetWarnings False
DoCmd.RunSQL "" ' Her skal sql udtrykkene indsættes
DoCmd.SetWarnings True
Tip: Du kunne også lade formularen være bundet til en af tabellerne. Så kunne du nøjes med at kode-oprette 2 poster.