Jeg har en accessdatabase med flere tabeller. Der opstår et mindre problem, når jeg skal lave en forespørgselstabel. Jeg angiver, at jeg f.eks. skal bruge kolonnen "id" fra tabellen "hus". Den opretter helt korrekt en kolonne, men indholdet er ikke helt identisk med kolonnen fra kollonnen fra "hus". Hvis der i kolonnen "id" under tabellen "hus" er f.eks. 450 id-rækker, så vises der f.eks. kun 448 id-rækker i forespørgselstabellen. Tabellen "id" er en "Autonummerering"
Hvis det er en join mellem 2 tabeller så kan grunden være at der mangler data i den refererende tabel. Typisk når man joiner benytter man en INNER JOIN - den kræver at join-betingelsen findes i begge tabeller før data vises.
Prøv tælle antallet af rækker i tabellen HUS - en query i SQL ville være SELECT COUNT(*) FROM HUS - returnerer den 450 rækker så er det nok ovenstående, returnerer den 448 er det nok slettede rækker.
Måske har jeg misforstået noget, men som jeg læser spørgsmåplet hentes der et eneste felt, fra en tabel. Ingen joins eller noget. Så mit bedste gæt er, at der simpelhen mangler et par slttede rækker i tabellen, som jeg antydede til at begynde med og som også Thomas anførte.
to change your join type right click on the relationship and then you cna choose from three radio buttons. The first is an INNER and then next two are OUTER, choose the one which suits your needs!
Jeg tror helt klart, at det er jkrons, som er på rette spor. Der er nemlig 2 slettede rækker i kolonnen "id" i tabellen - 457 id-nr., men kun 455 poster - der er overhovedet ikke indblandet nogen form for asp-kodninger, men alene selve access. Hvordan kan jeg rette denne fejl, når der er tale om autonummerering? Jeg troede, at forespørgslen blot "kopierede" kolonnen fra tabellen og dermed uden betydning, om der mangler et par rækker?
Jeg tror ikkehelt at jeg forstår hvad du mener. Hvis du har 455 poster i tabellen skal der ogsåp være 455 i forespørgslen - og så er det sådan set lige meget, hvilke ID numre, der er slettet. Husk, at autonunmre ikke genbruges eller "glemmes", så hvis tabellen indeholder Id 1 til 457 og fx 356 og 390 mangler (er slettede), så skulle forespørgslen meget gerne indeholde de samme 455 numre.
Jeg håber at du får styr på det, eller at en af de andre kan hjælpe, da jeg er væk resten af weekenden.
Er kommet lidt videre, men stadig meget spøjst! Jeg har 3 tabeller i databasen - 1) bruger, 2) hus og 3) uge.
Hvis jeg laver en forespørgsel, hvor jeg kun vælger at hente oplysninger fra tabel 2) hus, så får jeg vist 454 poster, hvilket er akkurat det samme som antal poster i tabellen hus. Hvis jeg i stedet laver en forespørgsel, hvor jeg vælger at hente oplysninger fra alle 3 tabeller, så opstår problemet, da der nu kun er 449 poster????????
Det lyder faktisk meget fornuftigt. Jeg har dog aldrig hørt noget om "outer join", så er det forholdsvis nemt at forklare, hvad jeg konkret skal gøre? :-)
Nemmeste at forklare er, at du skifter design mode til SQL visning - og så retter du teksten INNER JOIN til LEFT OUTER JOIN. Giver det ikke det ønskede resultat ud prøver du at rette til RIGHT OUTER JOIN.
Og så på bedste skolemester-facon:
Princippet i INNER og OUTER JOINs er det gode gamle mængderegning fra folkeskolen - du ved, det med overlappende cirkler og prikker.
INNER JOIN er fællesmængden mellem 2 (eller flere) overlappende cirkler. LEFT OUTER JOIN tager fællesmængden + alle prikker i den ene cirkel - og RIGHT OUTER JOIN gør det samme, blot med den anden cirkel.
Der findes så også en FULL OUTER JOIN (ved ikke om Access understøtter den) der tager hele baduljen - samt en CROSS JOIN der ganger de to mængder med hinanden (den skal man passe på med at bruge - 2 tabeller med 1.000 rækker giver 1.000.000 rækker ud!)
trer-> Access understøtter FULL OUTER JOIN men det kan løsex gennem en UNION af en LEFT og en RIGHT på samme data :-) CROSS JOIN løses i Access ved at medtage to tabeller i en forespørgsel uden at joine dem.
Jeg vil prøve jeres mange svar. Tak for hjælpen :-) Jeg har prøvet at fordele pointene mellem jkrons og trer, men det ser ikke ud til gå igennem, hvorfor?
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.