13. januar 2017 - 17:08Der er
7 kommentarer og 1 løsning
Forespørgelse
Hej alle sammen,
Jeg har brug for en lille opfrisker på hvordan en forespørgelse virker.
Jeg har en tabel "tblTransport" med navne(kunder), rute og beløb og en anden tabel "tblTimeDate" med datoer og klokkeslet.
De to vil jeg så køre sammen over en forespørgelse. I min "tblTimeDate" har jeg et felt der hedder "IDtblTransport" hvor jeg i mit hovede ville mene at den så skulle indsætte ID fra "tblTransport"?? Er jeg helt forkert på den her?
OK. Den helt barnlige forklaring: En forespørgsel er en "snabel", som man kan stikke ned i en tabel og "gøre noget": udtrække data, opdatere, slette osv. Men i en forespørgsel kan man også kombinere flere tabeller (og/eller andre forespørgsler). Det sker ved at man i den ene tabel har et felt, der "peger på" et felt i en anden tabel (eller forespørgsel). I dit tilfælde skal du altså oprette en forespørgsel og tilføje dine to tabeller. Så trækker du med musen fra feltet IDtblTransport i tblTimeDate over på ID i tblTransport. Nu er de to tabeller "sat sammen" og du kan nu trække de felter, du har brug for, ned i foresprøgsgitteret. Under hvert felt kan du indtaste kriterier.
Kanon, så var jeg ikke helt gal på den. Kan se når man vælger egenskaber for "forbindelsen" var der 3 valgmuligheder. Da jeg så valgte nummer 2, så ville den gerne det den skulle. Men tror det er mere held end forstand hver gang jeg prøver det med forespørgelser. :)
Men jeg kan så se at når jeg prøver at slette en linje (fra en form ved brug af en knap) så vil den kun slette i den ene tabel, burde den ikke slette hele vejen igennem?
Det kræver at du fortæller Access, at der så at sige er lidt strammere regler, der gælder for forbindelsen. Det gør du ved at markere feltet "Gennemtving referentiel integritet". Når du har gjort det, kan du markere de efterfølgende afkrydsningsfelter. MEN BEMÆRK: Alt dette er kun muligt, hvis dine tabeller er oprettet korrekt med unikke nøglefelter - og så længe dine data overholder reglerne for referentiel integritet (der må ikke være u-relaterede poster).
Jeg har været inde og sætte Gennemtving til. Jeg har selvfølgelig en rulleliste/combobox i min tabel. Data som jeg henter fra en anden tabel. Hertil har jeg brugt Lookup Wizard. Det er vel ikke den som går ind og laver kluder i det?
Og jeg går ud fra jeg skal hente dataerne fra den samme forespørgelse både i rapporten og i min Form? :/
Hm. Du stritter lidt i alle retninger :O) Dit spørgsmål gik på problemer med at slette poster. Nu skifter du spor til noget med en rapport.
Altså: Hvis du har tjekket Referentiel integritet af, burde du kunne slette poster. Du sletter bare fra din hovedtabel (er det kundetabellen?). Så sørger Access automatisk for - efter at have givet dig en lille advarsel - at slette de tilhørende poster i undertabellen (Transport?).
Med hensyn til formular contra rapport: Nej, du kan sagtens bruge forskellige forespørgsler til de to. Det er lidt svært at udtale sig mere konkret, når du ikke som udgangspunkt beskriver et problem.
Men (en lille løftet, venlig pegefinger): Pas nu på med ikke at præsentere en hel byge af problemer under det samme spørgsmål her på eksperten. Opret hellere et nyt spørgsmål til hver problemstilling. Det giver også flere eksperter mulighed for at byde ind med mere præcise svar.
Har da vist haft søvn i øjnene her til morgen, det med rapport køre i et andet spørgsmål jeg har gang i, og har faktisk kommenteret din kommentar med tanken om at det var mit andet spørgsmål du skrev i. :) Så du ignorere bare den del. :)
Men lige tilbage til det med at slette, det hjalp da jeg fik krydset af i det med at gennemtvinge. Så jeg takker for hjælpen og beklager forvirringen. :)
OK. Så forstår jeg bedre. Fint at det hele faldt på plads ;O)
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.