Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: bigrala am November 21, 2010, 02:41:12

Titel: Doppelte Einträge nicht berücksichtigen
Beitrag von: bigrala am November 21, 2010, 02:41:12
Hallo,

ich habe eine Tabelle (tbl-Artikel-Erfassen), hier werden alle Kundenanlieferungen erfasst.
Zur Übersicht möchte ich ein Listenfeld in ein Formular platzieren, welches mir sagt an welchen Tagen der Kunde da war und wie oft insgesammt.

Das Problem, wenn der Kunde mehrere Artikel pro Tag anliefert, ist er auch mehrfach mit einem Datum pro Tag in der Tabelle enthalten.

Wie filtere ich nun aus der Tabelle die doppelten Tage heraus, so dass jedes Tagesdatum nur noch einmal angezeigt wird?

Ich hoffe das mein Problem mit einem Beispiel deutlicher wird.

Tabelle:

KdNr / ArtikelNr / Anlieferdatum

05 / 0815 / 20.05.2010
06 / 0816 / 23.05.2010
05 / 0815 / 23.05.2010
06 / 0915 / 23.05.2010
05 / 0815 / 24.05.2010
05 / 0915 / 24.05.2010
05 / 1015 / 24.05.2010
05 / 0815 / 26.05.2010

Soll: 
Ich möchte alle Tage an denen der Kunde 5 da war und die Anzahl der Besuche (Artikelnummern sind hier egal).

05 / 0815 / 20.05.2010
05 / 0815 / 23.05.2010
05 / 0815 / 24.05.2010
05 / 0815 / 26.05.2010

Anzahl = 4

Jedes Datum nur einmal angezeigt und Anzahl der Einträge = 4.

Wer kann mir sagen wie ich das mache (am besten StepByStep) oder kann mir einen SQL-Code dafür liefern?


Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: Hondo am November 21, 2010, 08:22:42
Hallo,
ich würde bereits beim anlegen der Daten prüfen ob das Datum schon vorhanden ist.
Mach dein Formular dazu ungebunden und speichere die Daten per Einfügeabfrage.

Andreas
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: DF6GL am November 21, 2010, 09:35:11


http://www.office-loesung.de/ftopic425030_0_0_asc.php
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: database am November 21, 2010, 09:51:42
@bigrala

Unter deinem Profilbild ist zu lesen: "Ich seh alles"

Hmmm... hast du das schon gesehen - oder ignorierst du es nur ... ? http://www.access-o-mania.de/index.php?ind=community&op=netiquette (http://www.access-o-mania.de/index.php?ind=community&op=netiquette)

Wobei - um diesbezügliche Fragen und Unverständniserklärungen auszuschließen - dieser Punkt deine besondere Aufmnerksamkeit erreigen sollte:

ZitatCrossposting, d.h. das Posten der gleichen Frage in mehreren Foren zur gleichen Zeit, ist unerwünscht.
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: bigrala am November 21, 2010, 16:28:02
Zitat von: Hondo am November 21, 2010, 08:22:42
ich würde bereits beim anlegen der Daten prüfen ob das Datum schon vorhanden ist.
Hallo Andreas,
ich bin gerade dabei für einen Bekannten eine 10 Jahre alte Access-Datenbank neu zu erstellen und muss die bereits vorhandenen Daten weiterverwenden.
Ich würde die Struktur heute auch anders anlegen, wollte jedoch versuchen die vorhandenen Daten nicht alle in neue Tabellen zu verschieben - nur wenns nicht anders geht.

Gruß bigrala
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: ulli am November 21, 2010, 17:51:15
Hallo,

ich habe gerade mal rumprobiert und folgende Abfrage als Datenherkunft eines Listenfeldes erstellt:

SELECT Tabelle1.KdID, Tabelle1.Tag, Count(Tabelle1.Tag) AS AnzahlvonTag
FROM Tabelle1
GROUP BY Tabelle1.KdID, Tabelle1.Tag
HAVING (((Tabelle1.KdID) Like [Formulare]![Formular1]![KdID]));

Damit zeigt die Liste jedes Datum nur einmal an, und dahinter steht die Anzahl der Besuche pro Tag.
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: oma am November 21, 2010, 19:58:39
Hallo,

du solltest unsere Hinweise zum Crosssposting ernst nehmen, ansonsten bekommst du keine Antwort mehr.

Gruß Oma
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: bigrala am November 21, 2010, 21:01:05
Zitat von: ulli am November 21, 2010, 17:51:15
Damit zeigt die Liste jedes Datum nur einmal an, und dahinter steht die Anzahl der Besuche pro Tag.
Hallo Ulli,
vielen Dank werde Deinen Code sobald wie möglich (vermutlich morgen) testen und Dir hier ein Feedback geben.
Kling und liest sich schon mal sehr gut, ist genau das was ich suche.

Danke bigrala
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: oma am November 21, 2010, 23:22:05
Hallo Ralf,

ich hoffe du hast meine Antwort auf die PN erhalten u. konntest daraus etwas entnehmen u. wir können das ledige Tema Crossposting zu den Akten legen.

Deine Frage bezüglich der Anzeigen ist einfach zu beantworten. Für dein Listenfeld im Formular kannst du als Datensatzherkunft schreiben:

select KdNr, Anlieferdatum, count(Anlieferdatum) AS Anzahl  from tbl_Artikel group by KdNr, Anlieferdatum


Gruß Oma
Titel: Re: Doppelte Einträge nicht berücksichtigen
Beitrag von: bigrala am November 22, 2010, 02:00:06
Hallo zusammen,

@ ulli
Bei Deinem Code bekomme ich die Meldung "fehlender Operator im Abfrageblock Count fehlt"

SELECT [tbl-Artikel.KundenNr], [tbl-Artikel.AnlieferdatumAlt], Count [tbl-Artikel.AnlieferdatumAlt] AS AnzahlvonAnlieferdatumAlt
FROM [tbl-Artikel]
GROUP BY  tbl-Artikel.KundenNr],  [tbl-Artikel.AnlieferdatumAlt]
HAVING ((( [tbl-Artikel.KundenNr]) Like [Formulare]![frm-Kunden-Erfassen]![KdNr]));


Ich hoffe dass ich alles richtig eingetragen hab.

@Oma
Dein Code läuft super


Danke an alle die sich gedanken gemacht haben und sorry für die Aufregungen.
Wer was näheres wissen möchte kann mir ja mal eine PN schicken.

Gruß an alle
bigrala