Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Access]Doppelte Einträge in einer Abfrage verhindern (https://www.delphipraxis.net/109489-%5Baccess%5Ddoppelte-eintraege-einer-abfrage-verhindern.html)

rollstuhlfahrer 2. Mär 2008 16:33


[Access]Doppelte Einträge in einer Abfrage verhindern
 
HI,

ich möchte eine Access-Abfrage erstellen, die mir die Datensätze aus einer Access-Tabelle liefert. Die Tabelle ist eine Adresstabelle und so stehen auch mal unter jeweils anderem Vornamen (gleicher Nachname und Adresse) mehrere Datensätze drin. Ich möchte/suche nach einer Abfrage, die mir die Adressen aus der Tabelle anzeigt, aber doppelte (es reicht mit dem Datensatz obendrüber zu vergleichen) rausfiltert/nicht anzeigt.

rollstuhlfahrer

marabu 2. Mär 2008 17:31

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
Hallo,

wenn du mit SELECT DISTINCT abfragst und den Vornamen weglässt, dann hast du was du beschrieben hast. Um den fehlenden Vornamen noch zu ermitteln, benötigst du eine Regel, mit der du den Vornamen deiner Wahl per JOIN hinzufügen kannst.

Willst du Dubletten eliminieren?

Freundliche Grüße

rollstuhlfahrer 2. Mär 2008 17:47

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
nun ja, klingt alles ganz gut, aber die Abfrage soll nicht über SQL laufen, sondern über das Abfrage-System, das in der Datenbank gleich integriert ist (Reiter Abfragen).

rollstuhlfahrer

PS: ja ich will Dubletten eleminieren, aber nicht aus der Tabelle löschen

alzaimar 2. Mär 2008 17:53

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
Das sind SQL-Abfragen.

omata 2. Mär 2008 17:54

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
"Oben drüber" gibt es in einer Datenbank nicht!

Die eigentliche Frage bei soetwas ist ja...
Welche Datensätze die nach deiner Definition gleich sind sollen angezeigt bzw. nicht angezeigt werden? Wie definierst du da ein Unterscheidungsmerkmal?

Gruss
Thorsten

rollstuhlfahrer 2. Mär 2008 17:59

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
Als unterscheidungsmerkmal kann gelten: alles (irgendeine Veränderung), soll heißen Groß/Kleinschreibung und Buchstabenfolge muss komplett gleich sein, dass 2. Datensatz nicht angezeigt wird

rollstuhlfahrer

edit: gleich sind die, die dem oben entsprechen. angezeigt werden sollen all die, die nicht "gleich" sind

omata 2. Mär 2008 18:05

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
Ok, du sagt irgendeine Änderung in egal welcher Spalte? Du bist da leider etwas unpräzise, so kann man dir nicht helfen.

Wenn es um alle Spalten der Tabelle geht, dann ist DISTINCT dein Freund.

Edit: Es gibt kein oben oder unten in einer Datenbank.

Edit2:
SQL-Code:
SELECT DISTINCT vorname, nachname, plz, strasse, ort
FROM adresse
Gruss
Thorsten

Jelly 2. Mär 2008 18:28

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
du brauchst ein Unterscheidungsmerkmal, wann für dich 2 Datensätze identisch sind. Wenn 2 DS mit gleichem Namen und Adresse, jedoch mit unterschiedlichem Vornamen, für dich identisch sind, dann musst du erst mal definieren, welchen Vornamen du dann jetzt zeigst. Werde präzise in deinen Formulierungen!

Wie bereits angedeutet... Es gibt kein "oben drüber" in Datensatzmengen. Das liegt schon im Begriff "Menge", ein Begriff aus der Mathematik. Dort ist erstmal keine Reihenfolge definiert.

rollstuhlfahrer 2. Mär 2008 22:44

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
nochmal: Es handelt sich nicht um eine SQL-Abfrage, sondern um eine MSAccess-Abfrage, die auch im Reiter Abfragen angezeigt werden kann. In wie fern man da SQL verwenden kann, mag ich bezweifeln. Mit der Reihenfolge scheint es noch zu hapern. Er soll den ersten Datensatz, den er findet darauf hin prüfen, ob er schon mal im angezeigten Bereich liegt (relevante Felder: Name, Straße; sonst nichts). Tut er dass -> verwerfen, nächster. Tu er das nicht -> anzeigen, nächster. SELECT DISTINCT würde vllt. hier passen. Mit obendrüber wollt ich es nur etwas einfacher machen, doch es scheint ja keine Reihenfolge zu geben. Das ganze soll als eine Datenquelle für eine Serienbrieferstellung laufen...
Wenn was bei den Infos fehlt, bitte auflisten!

rollstuhlfahrer

omata 2. Mär 2008 22:47

Re: [Access]Doppelte Einträge in einer Abfrage verhindern
 
Du kannst dort auch eine richtige SQL-Anweisung hinterlegen.

Deine Vorstellungswelt ist so leider nicht in einer Datenbank vorhanden. Du must dich davon lösen, dass du da einen Datensatz findest und bei einem anderen dann weisst was zu tun ist. So funktioniert keine Datenbank.

Sorry, aber ist nunmal so.

Edit: ja, es fehlt eine genaue Definition von gleich und von dem was du eigentlich hinterher haben möchtest. Bitte mit genauer Tabellen- und Spalten- Erklärung und Definition.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz