19. januar 2000 - 12:33Der 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.
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.
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
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
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
Synes godt om
Ny brugerNybegynder
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.