Michael Tillgaard skrev:
> Beklager den manglende/dårlige beskrivelse.
Bedre sent end aldrig
Men det illustrerer meget godt hvorfor en
god beskrivelse er vigtig på usenet.
> Jeg har en access-database med flere tabeller:
> Menu2, Menu3, Menu4 etc.
> I tabellerne findes ens feltnavne. Feltnavnet TextOverskrift
> findes således i alle tabellerne.
> Nu vil jeg så gerne lave en søgning i tabellerne Menu2, Menu3,
> Menu 4 i feltnavnet TextOverskrift.
Så skal du bruge en union-forespørgsel. Join-forespørgsler lægger
tabeller ved siden af hinanden - der bliver flere tilgængelige
felter, men ikke flere poster (cross join dog undtaget).
Union-forespørgsler lægger derimod tabeller under hinanden - for at
virke kræver det at hver delelement (en select-sætning) indeholder
samme type data, det vil sige samme antal felter og matchende
felttyper hele vejen igennem.
I dit tilfælde kan man skrive:
SELECT TextOverskrift FROM Menu2
UNION
SELECT TextOverskrift FROM Menu3
UNION
SELECT TextOverskrift FROM Menu4
- det vil give en liste med alle overskrifter fra de tre tabeller
(dubletter fjernes). Hvis du har brug for at vide hvilken tabel et
givent resultat stammer fra må du inkludere noget mere - enten et
felt som er unikt på tværs af de tre menuer eller bare en tekst der
fortæller tabelnavnet:
SELECT TextOverskrift, 'menu2' AS tabelKilde FROM Menu2
UNION
SELECT TextOverskrift, 'menu3' FROM Menu3
UNION
SELECT TextOverskrift, 'menu4' FROM Menu4
(det er ikke nødvendigt at navngive felter andre steder end i den
første select - disse navne bruges for det samlede recordset).
NB: Hvis du skal sortere en union-forespørgsel skal ORDER BY-
delsætningen placeres én gang - efter sidste select-sætning. Den
virker på hele union-sættet.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html