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?
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
http://www.office-loesung.de/ftopic425030_0_0_asc.php
@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.
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
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.
Hallo,
du solltest unsere Hinweise zum Crosssposting ernst nehmen, ansonsten bekommst du keine Antwort mehr.
Gruß Oma
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
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
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