Avatar billede lisped Nybegynder
19. januar 2000 - 12:33 Der er 6 kommentarer og
1 løsning

Relationer når db reelt er flad

Jeg er i gang med at lave en database over et spørgeskema. Mit problem er at der ikke er brug for komplicerede relationer. Spørgeskemaet er bygget op som et træ med forgreninger. Den enkelte person skal kun svare på 1/5 til 1/4 af spørgsmålene alt efter hvordan der svares på spørgsmålene. Jeg mente at dette kunne løses ved at spørgsmålene opdeltes i blokke som blev sat i de rigtige tabeller. Relationerne skulle så sørge for at der ikke blev nogen tomme felter i resultatet og at de rigtige spørgsmål blev stillet. Men når alle relationerne er en-til-en-relationer fungerer disse ikke. Det er en problemstilling jeg ikke har været ude for før. Ved en-til-mange er relationerne tydelige ved hjælp af sub-forms i formularer, men det kan man jo ikke ved en-til-en? Det er altså opbygningen af indtastningsformularerne, der er mit store problem. Skal jeg bruge et helt andet db-program eller skal jeg i stedet finde en måde at komme udenom de tomme felter?
eg håber ikke at spørgsmålet er uforståeligt.
Avatar billede privaten Nybegynder
21. januar 2000 - 08:55 #1

Hej,

Mener ikke spørgsmålet er uforståligt, men omvendt tror jeg ikke du kan løse det alene med relationer, der skal db-programmering til...
Avatar billede lisped Nybegynder
21. januar 2000 - 09:21 #2
Det er det, der er problemet. Programmering er ikke min stærke side...
Kender nogen noget GOD litteratur?
Avatar billede privaten Nybegynder
21. januar 2000 - 14:22 #3

Hej igen,

Er der ikke noget med??:

                                    +--- o.s.v
                      +--------+  |
                  +---| Sp.2.b |---+
+-------------+    |  +--------+  |       
| Sp.1        | ---+(1x)            +--- o.s.v
+-------------+    |  +--------+
                  +---| Sp.2.a |--- o.s.v
              +--------+
           

Sp.tabellen indeholder:

RecordID    AutoNumber
Sp1-ID        Number
Sp2-ID        Number
Sp3-ID        Number
Sp4-ID        Number
etc.             

Når du opstarter form brugeren skal indtaste svar i, initieres denne med default sp. i kategori 1.
Når brugeren har indtastet alle svar i den kat. trykkes på knappen videre. Denne opretter et entry til den række sp. som svarene berettiger ( sp2a eller sp2b ), i samme omgang opdateres Sp.tabellen's Sp2-ID. Når man kommer ud for enden af Sp2 udføres samme procedure mod Sp3 osv.

Lidt tricky, med det kan lade sig gøre...
Avatar billede privaten Nybegynder
21. januar 2000 - 14:23 #4
Øv, det find træ blev fældet af "bitstormen" på Internet..:-)
Avatar billede lisped Nybegynder
21. januar 2000 - 15:34 #5
Hej igen Privaten
Du har ret i at det var noget i den stil jeg ville gøre. Men jeg havde ikke overvejet at opstille alle spørgsmålene i samme tabel...
Jeg vil kigge lidt på, men er ellers igang med at springe over hvor gærdet er lavest (én formular => mange tomme felter). Jeg har nemlig en deadline.
Er du sikker på at "Sp2-ID" opdateres når der arbejdes med én tabel og flere formularer?
Jeg synes stadig at dit træ er fint :-)
Lise
Avatar billede privaten Nybegynder
23. januar 2000 - 16:07 #6

Når du initierer et nyt skema, sættes alle relationer til "0", det betyder at ingen sp. er valgt. Når brugeren skal til at indtaste svar initieres sp1. til default opstarts spørgsmål. Afhængig af hvilke svar du modtager sættes de forskellige "id-er" til det de nu skal sættes til.
Alle sp. kan sagtens ligge i en enkelt tabel fx.

id-nr 0: Indtast navn
id-nr 0: Ægteskablig status
id-nr 1: Hvornår blev du gift
id-nr 1: Hvor blev du gift
id-nr 2: Havde du ingen kæreste

Her stilles brugeren et sp. vedr. ægteskablig status, hvis der i svares at brugeren er gift, initieres sp. i afdeling II til id = 1, dvs. første sp. vil være at "hvornår blev du gift"
Havde brugeren svaret ugift, ville id blive sat til 2 og sp. bliver således "Havde du ingen kæreste"

Dit problem er at du skal bruge noget kode der initierer de forms der skal bruges til hver sp.-sektion
Avatar billede lisped Nybegynder
25. januar 2000 - 11:15 #7
Hej Privaten
Jeg accepterer dit svar. Problemet er dog endeligt løst på en lidt anden måde. Ved grundig gennemgang af spørgeskemaet viste det sig nemlig at det i vid udstrækning var de samme spørgsmål, som lå i de forskellige spørgsmålsblokke. Formuleringerne var forskellige alt efter de tidligere svar. Det, jeg har gjort er så at binde flere spørsmål til en enkelt svarkolonne i tabellen, da det samme spørgsmål kun bliver stillet den enkelte svarer én gang. Dette giver en kraftig reducering af tomme felter (ned til det acceptable) og løser samtidig et query-problem, nemlig at der ikke længere skal søges flere steder.
Mit problem er altså løst, men ikke på din udmærkede måde. Den kodning, du nævner er mulig i de eksisterende makroer. 
M.v.h. Lise
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