Avatar billede swaq Nybegynder
26. juni 2007 - 13:30 Der er 5 kommentarer og
1 løsning

Form til indtastning i relationel database

Hej Eksperter,

Jeg har en træningsdatabase som jeg skal bruge til at holde styr på en række lektioner og underlektioner i forhold til hvor lektionerne skal afholdes, hvornår, og hvilke instruktører der skal forestå undervisningen.

Indtil videre har jeg følgende setup:
Tabel 1: Lecture
Kolonner: LectureName (PK), LectureDescription
Tabel 2: Lectures
Kolonner: LectureName (PK/FK), LectureNumber (PK)
Tabel 3: Trainers
Kolonner: TrainerShortName (PK), TrainerName, Phone etc...
Tabel 4: Locations
Kolonner: LocationShortName (PK), LocationName, Address etc...
Tabel 5: LectureTrainerLocation
Kolonner: LectureName (PK/FK), LectureNumber (PK/FK), TrainerShortName (PK/FK), LocationShortName (PK/FK), Date, No. of participants etc...

Som det fornemmes af primærnøgler (PK) og fremmednøgler (FK) er der en række relationer defineret.
Det er lykkedes mig at lave forms der kan indtaste data i de 'yderste' tabeller, hvor relationerne er simple.

Problemet er 'LectureTrainerLocation' tabellen, som har en del fremmednøgler, hvoraf den ene er sammensat.

Spørgsmålet er så:
Hvordan får jeg lavet en formular der sætter mig i stand til at indtaste data i 'LectureTrainerLocation' tabellen? Alle de øvrige tabeller har allerede fået deres data indtastet.
Formularen skal med andre ord slå FK's op i de andre tabeller, hvorved integritet sikres.

Mit hovedproblem er den sammensatte nøgle. Jeg vil gerne lave en formular, hvor man i en listbox vælge den sammensatte nøgle, dvs. LectureName og LectureNumber. TrainerShortName og LocationShortName kan så vælges i en ComboBox, hvorefter brugeren kan indtaste Date, No. of participants etc...

I den ideelle verden tager formularen højde for om en given localitet allerede er valgt en given dato, hvorved dobbelbooking undgås. Jeg er dog ikke sikker på, at det nuværende design kan dette.

Hjææælp!
Avatar billede Slettet bruger
26. juni 2007 - 13:45 #1
Det er vist en større omgang, men du er velkommen til at zippe din db og sende den til spg.eksperten@gmail.com

Så skal jeg prøve at give en diagnose!~)
Avatar billede gefion Nybegynder
26. juni 2007 - 15:45 #2
Kan kun laves med en forespørgsel hvor de relaterede tabeller knyttes sammen med en tabel (hjælpetabel) hvor der dannes en sammensat primærnøgle der kan relatere til de tabeller der anvendes - så virker det
Avatar billede Slettet bruger
26. juni 2007 - 23:05 #3
Jeg har sendt et forslag tilbage!~)

Jeg skal nok uddybe imorgen....
Avatar billede Slettet bruger
27. juni 2007 - 08:20 #4
Jeg lavede en listbox, hvor man ved beforeupdate flytter column 0 og 1 over i de respektive textbokse. Trainer og Location lavede jeg til en combo, som gemmer shortname men viser fullname... Så det var simpelt og hurtigt gjort!~)

håber det virker efter hensigten....
Avatar billede swaq Nybegynder
27. juni 2007 - 18:33 #5
Super, har ikke fået kigget på det, men tager dit svar for gode varer - om ikke andet fortjener du en belønning for din interesse og indsats.

Tak for hjælpen!
Avatar billede Slettet bruger
27. juni 2007 - 20:47 #6
!~)
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