30. juni 2004 - 10:35Der er
16 kommentarer og 2 løsninger
Forespørgsel der kun udvælge unikke data i tabel
Så er den gal igen....
Jeg vil gerne have en tabel, hvorfra man via en komboboks kan vælge mulighederne. Komboboksens indhold skal komme fra en forespørgsel der linker tilbage til tabellen. Men for at de sammme data ikke kan vælges flere gange, skal forespørgslen kun udtage de unikke data af tabellen.
Et lille hurtigt eks. Tabel: Frugter: æble, banan, æble, banan, banan, æble Forespørgsel: Frugter: æble, banan
Ved ikke om det er god programmeringsskik med en sådan opstilling, men meningen er at brugeren skal kunne vælge mellem tidligere svarmuligheder, og er de ikke tilstrækkelige tilføjes en ny, der herefter også bliver tilgængelig som svarmulighed.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
den forespørgesel du bassere din form på, skal starte med SELECT DISTINCT... På den måde får du kun en record med samme indhold... Men bemærk at alle felter i forespørgeselens output skal være helt ens for at blive sorteret...
Øhh, glemte vist at sige at jeg er ny i faget, så det med SQL osv. er jeg ikke inde i, så i mågerne lige hjælpe mig lidt med at få tingene sat ind det rigtige sted. Jeg laver mine forespørgelser vha. en guide, og retter dem til i designvisningen, men hvor skal jeg skrive SELECT DESTINC/UNION og hvordan får jeg indsat en blank for oven på denne måde, eller hvordan kommer jeg i SQL-mode, hvis det hedder sådan ;-)
Jeg kan ikke helt se om jeg har brug for det blanke felt. Med udgangspunkt i eks. fra før, så skal det være sådan at hvis brugeren skal indtaste noget om appesiner og det ikke står i listen, så skrives det manuelt i formen til tabellen der gemmer alle data, og næste gang en bruger får brug for at taste appelsiner ind, så ligger den i komboboksen via forespørgelsen.
Ok, så lad os glemme det med UNION i første omgang.
Når du har lavet en komboboks uden brug af guide, er der en egenskab, som hedder "Rækkekilde". Denne skal indeholde navnet på en tabel eller en forespørgsel eller den skal blot indeholde en SQL-sætning. Det er den sidste løsning, vi arbejder med her.
Du kan skrive SQL'en direkte i egenskaben eller du kan klikke på knappen med 3 små prikker til højre, når du står i egenskaben. Denne åbner forespørgselsgeneratoren.
Herinde kan du designe din forespørgsel som du vil og du kan tilmed prøvkøre den vha udråbstegnet på værktøjslinien.
Vi kan også gå i menuen Vis->SQL visning for at se SQL'en som er blevet genereret ud fra forespørgselsgeneratoren.
Vi skal arbejde os frem mod en SQL som ser nogenlunde således ud:
Select Distinct Frugter From tblFrugter
Du kan derfor skrive denne direkte i egenskaben eller du kan åbne forespørgselsgeneratoren og vælge tabellen tblFrugter (eller hvad den nu hedder?) og trække feltet Frugter ned. I egenskaberne for hele forespørgslen (dobbeltklik i det grå felt øverst) finder du "Unikke værdier", som sætte til Sand/ja
En lang forklaring, da der er mange muligheder - jeg håber ikke, at du bare blev alt for forvirret - det blev jeg næsten selv ;)
*****Du kan derfor skrive denne direkte i egenskaben eller du kan åbne forespørgselsgeneratoren og vælge tabellen tblFrugter (eller hvad den nu hedder?) og trække feltet Frugter ned. I egenskaberne for hele forespørgslen (dobbeltklik i det grå felt øverst) finder du "Unikke værdier", som sætte til Sand/ja****
Jeg kan ikke finde det sted hvor jeg skal dobbeltklikke for at kunne vælge "unikke værdier" og sætte sand til ja....
Når du er inde i forespørselsgeneratoren, kan du dobbeltklikke på det grå område i øverste del (ved siden af tabellen). Det skulle gerne åbne egenskaberne (hvis de ikke allerede er åbne). I disse egenskaber er der en egenskab, som hedder "Unikke værdier". Sætter du kryds i den, vil der automatisk blive sat DISTINCT ind i den bagvedliggende SQL.
Så fandt jeg ud af det... 1000 tak for hjælpen.... har lige et lille bispørgsmål, som afspejler at jeg nok ikke har tænkt mig helt om :-) Hvis der skal flere point til at hjælpe, skal du bare sige til....
Here goes: Jeg er ved at lave en ret stor tabel til at gemme data til udskrivning af rapporter. Rapportskrivningen skal foregår ved at alle data kan findes via kombobokse (forespørgsler til tabellen, som beskrevet ovenfor). Men så længe tabellen er tom, er der jo således ikke noget i komboboksene, men jeg ved allerede nu nogle ting der skal være som valgmuligheder i komboboksene. Er det muligt at lave nogle tabeller der indeholder de kendte data til forespørgelserne, der så senere kan fyldes med hvad brugerne ellers kunne finde på at skrive i den store tabel? Eller er det muligt at lave en forespørgelse til begge ovenstående tabeller, så man derigennem får alle svarmuligheder med? Den sidste mulighed er jeg ikke helt sikker på hvordan vil fungere mht. nøgler, for der skal vel være relation mellem de to tabeller for at kan lave en sådan forespørgelse.
Jamen det er jo helt kanon det her, du har været til super hjælp, giver lige ferdinand en lille slat point, og så får du resten + lidt ekstra for den gode og vedholdende hjælp!!!
Har lige oprettet et nyt spg (point til thomasjepsen), hvor du kan smide et svar, så får du lige lidt oven i hatten, kan ikke få det andet til at virke
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.