Avatar billede Docthomassen Juniormester
27. december 2005 - 10:58 Der er 12 kommentarer og
1 løsning

relationer (mange-til-mange)

Jeg ønsker at oprette en database over kunder, som kommer i min konsultation og får vacciner. Hver kunde kan komme 1,2 eller flere gange i konsultationen. Under hver konsultation kan kunden få 1,2 eller flere vacciner (i alt ca. 20 forskellige vacciner).

Jeg har forsøgt mig med relationer i alle afskygninger, men kan ikke få det til at virke.

Kan nogen hjælpe mig? Mine tabeller ser således ud:

(Kunde)
CPR (primær nøgle)
Navn
Adresse
Osv...

(Konsultation)
KonsultationsID (autonum.)
CPR (sek. nøgle, opretttet som en-til-mange rel. til "Kunde" CPR)
Vaccinenr. (skal vel oprettes som mange-til-mange rel. til "Vacciner" vaccineID)

(Vacciner)
VaccineID (autonum.)
Vaccinenavn
Pris


MVH
Anders
Avatar billede janbangm Nybegynder
27. december 2005 - 11:03 #1
Hej Anders. Jeg pjeler at lave en mange til mange relation ved at oprette en tabel mellem dem, så du får 3 tabeller med 2 relation imellem. Jeg syntes det ser helt rigtigt ud det du gør
Avatar billede Slettet bruger
27. december 2005 - 11:41 #2
Hvorledes har du tænkt dig, at det skulle opbygges og hvor langt er du?~)
Avatar billede dougheffernan Nybegynder
27. december 2005 - 11:43 #3
Kunde-konsultation: 1-til-mange
Vacciner-konsultation: 1-til-mange

vil give at
Kunde-Vacciner
bliver en mange-til-mange relation
Avatar billede Docthomassen Juniormester
27. december 2005 - 12:07 #4
Kære spg
Jeg er ikke helt med. Hvordan det skal opbygges?
Jeg er startet helt fra bunden og har endnu ikke indtastet data. Det er meningen at jeg skal gøre det, mens der er kunder.
Avatar billede Slettet bruger
27. december 2005 - 12:09 #5
Hvad har du af formularer!~)
Avatar billede Docthomassen Juniormester
27. december 2005 - 12:11 #6
Kære dougheffernan
Så vidt jeg kan se, bliver konsultationsnummeret ikke registreret på den måde. -Eller er det forkert?
Det skulle gerne være sådan, at jeg kan gå ind og se hvornår kunderne har været her første gang, og se hvilke vacciner de har fået.
MVH
Anders
Avatar billede Docthomassen Juniormester
27. december 2005 - 12:13 #7
Kære spg
Jeg har endnu ikke oprettet formularer.
MVH
Anders
Avatar billede Slettet bruger
27. december 2005 - 12:17 #8
Tabeller du skal bruge:

Kunde:
Cpr
Navn
Adresse
osv

Konsultation:
KonsultationsId (autonr.)
Cpr
Dato
Note

VaccineRef:
RefId (autonr)
KonsultationsId
VaccineId

Vacciner:
VaccineId (autonr.)
VaccineNavn
Pris
Avatar billede Docthomassen Juniormester
27. december 2005 - 12:18 #9
Kære spg

Tak. Jeg vil prøve det...

MVH
Anders
Avatar billede Slettet bruger
27. december 2005 - 12:55 #10
Så lav en OpretKunde formular, som har kunde som postkilde.

Og en OpretVaccine formular, som har vacciner som postkilde.

Du kan nu fylde nogle data ind så du har noget at arbejde med.

Herefter laver du en Konsultationsformular:
*Sæt din overskrift på og en komboboks, som hedder cpr
*Komboboksen skal være ubundet og her indtastes eller vælges cpr. nr. (husk at du kan sætte inputmasken til cpr. nr., det bør du også gøre i tabellerne), sæt desuden egenskaberne for komboboksen sådan at du kun kan vælge fra listen.

Underformular1:
*Du laver nu en underformular, som har tabellen kunde som postkilde og linker den på hovedformularen med cpr. (Her bør du under egenskaber for formularen fjerne rullemenuer og postnavigering m.m.) Du kan også fjerne den effekt med at formularen er sænket og fjerne rammen. Med andre ord få den til at se ud, som om den er en del af hovedformularen. Denne formular vil nu automatisk vise kundeoplysninger, når du indtaster et cpr. nr. i hovedformularen.

Underformular2:
*I underformular1 skal du have endnu en underformular, som har konsultation som postkilde, her skal du beholde postnavigeringen, så du kan bladre igennem konsultationerne, du kan evt. sortere i postkilden, så at du får seneste dato først. Du er nød til at bladre igennem fordi den skal stå til enkelt formular visning og ikke fortløbende. Også denne formular skal bindes på med cpr under hoved-/underformular.

Underformular3:
*Denne skal selvfølgelig indsættes i underformular2, den skal være fortløbende og derfor skal du bevare den lodrette rullemenu på formularen. Du klikker på de 3 prikker ved siden af postkilden og vælger tabellerne vaccineRef og vacciner. De forbindes med vaccineid. Vælg konsultationsid, vaccineid, vaccinenavn og pris.
*Du binder underformular3 sammen med underformular2 ved hjælp af konsultationsId.
*Du har nu felterne vaccineid, navn og pris til at ligge i denne fortløbende tabel. Den vil så virke som et rullede oversigt over de vacciner, der er blevet foretaget ved den enkelte konsultation.
*Så laver du vaccineid om til en komboboks og vælger vaccineid, vaccinenavn og pris i postkilden. Du skal så skrive 3 kolonner under egenskaber, den vil automatisk vise vaccineid når du har valgt i feltet. Du går nu ned til EfterOpdateringshændelsen på komboboksen og vælger den nederste af de valgmuligheder, som kommer når du trykker på de 3 små prikker ude til højre. Nu er du i Visuel Basic editoren, her skriver du imellem de to linier, som er fremkommet:

me.vaccinenavn=me.vaccineid.column(1)
me.pris=me.vaccineid.column(2)

Så skulle det kunne køre!~)
Avatar billede Docthomassen Juniormester
27. december 2005 - 13:04 #11
Kære spg

Du burde jo være konsulent.
Mange tak for det uddybende svar.

MVH
Anders
Avatar billede Slettet bruger
27. december 2005 - 13:11 #12
!~)
Avatar billede Docthomassen Juniormester
28. december 2005 - 11:47 #13
Hej spg
Er du stadig at træffe?
Jeg har stadig nogle problemer med at få det til at køre.

MVH
Anders
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