Makro für wiederkehrende Termine
Moderator: Moderatoren
Makro für wiederkehrende Termine
Hallo Baseler!
Als Einäugiger unter den Blinden habe ich mich dazu breitschlagen lassen, eine Datenbank zur Kunden-, Mitarbeiter- und Spenden-Verwaltung für einen Tafel-Laden (Abgabe von Lebensmitteln kurz vor Ablaufdatum an Bedürftige) zu erstellen. Da dies meine erste Base-Datenbank wird (rudimentäre Access-Erfahrungen vorhanden), habe ich in den letzten Tagen viel bei Euch im Forum, in den Anleitungen, FAQs und auf andere Seiten gestöbert, wie man ein solches Projekt am besten angeht. Viel hat sich mir von dort her erschlossen. Bei einigen Punkten habe ich aber keine Lösung finden können und stehe einfach auf dem Schlauch, was den Transfer von Inforamtionen auf meine Herausforderungen angeht. Hier wäre ich für Eure Hilfe sehr dankbar.
Eine der Herausforderungen sieht so aus: Der Laden öffnet wöchentlich; Kunden müssen wöchentlich erscheinen oder sich abmelden (damit das knappe Gut auch wirklich an die Frau kommt). Es gibt also drei Möglichkeiten: war da; war entschuldigt; war nicht da.
Bisher plane ich, diese Daten in einer Tabelle "Anwesenheiten" zu verwalten, die über die KundenID in Beziehung zur Tabelle "Kunden" steht. Hierzu (fürs erste) zwei Fragen:
1. Wie realisiere ich die Wahl zwischen ja/nein/entschuldigt? (Boolean wäre ja einfach gewesen, aber da fehlt mir halt sozusagen die "2".)
2. Wie kann ich es einrichten, dass diese Tabelle "selbständig" wöchentliche Termine hinzufügt? Ganz ideal wäre es, wenn Base jede Woche eine neue Spalte anlegen würde und die datenverarbeitende Helferin nach Abschluss eines Ausgabetages in einem Formular nur noch Häkchen setzen müsste.
3. Nach dreimaligem unentschuldigten Fehlen in Folge soll automatisch ein Brief an den Kunden gehen, in dem er gefragt wird, ob er Kunde bleiben möchte. Wie kann ich das abfragen?
Ich freue mich auch Anregungen, Tipps und vielleicht die ein oder andere "Smoking Gun". Vielen Dank für Eure Mühe!
Als Einäugiger unter den Blinden habe ich mich dazu breitschlagen lassen, eine Datenbank zur Kunden-, Mitarbeiter- und Spenden-Verwaltung für einen Tafel-Laden (Abgabe von Lebensmitteln kurz vor Ablaufdatum an Bedürftige) zu erstellen. Da dies meine erste Base-Datenbank wird (rudimentäre Access-Erfahrungen vorhanden), habe ich in den letzten Tagen viel bei Euch im Forum, in den Anleitungen, FAQs und auf andere Seiten gestöbert, wie man ein solches Projekt am besten angeht. Viel hat sich mir von dort her erschlossen. Bei einigen Punkten habe ich aber keine Lösung finden können und stehe einfach auf dem Schlauch, was den Transfer von Inforamtionen auf meine Herausforderungen angeht. Hier wäre ich für Eure Hilfe sehr dankbar.
Eine der Herausforderungen sieht so aus: Der Laden öffnet wöchentlich; Kunden müssen wöchentlich erscheinen oder sich abmelden (damit das knappe Gut auch wirklich an die Frau kommt). Es gibt also drei Möglichkeiten: war da; war entschuldigt; war nicht da.
Bisher plane ich, diese Daten in einer Tabelle "Anwesenheiten" zu verwalten, die über die KundenID in Beziehung zur Tabelle "Kunden" steht. Hierzu (fürs erste) zwei Fragen:
1. Wie realisiere ich die Wahl zwischen ja/nein/entschuldigt? (Boolean wäre ja einfach gewesen, aber da fehlt mir halt sozusagen die "2".)
2. Wie kann ich es einrichten, dass diese Tabelle "selbständig" wöchentliche Termine hinzufügt? Ganz ideal wäre es, wenn Base jede Woche eine neue Spalte anlegen würde und die datenverarbeitende Helferin nach Abschluss eines Ausgabetages in einem Formular nur noch Häkchen setzen müsste.
3. Nach dreimaligem unentschuldigten Fehlen in Folge soll automatisch ein Brief an den Kunden gehen, in dem er gefragt wird, ob er Kunde bleiben möchte. Wie kann ich das abfragen?
Ich freue mich auch Anregungen, Tipps und vielleicht die ein oder andere "Smoking Gun". Vielen Dank für Eure Mühe!
Re: Makro für wiederkehrende Termine
Hallo Neuling77,
im folgenden auf die Schnelle ein paar Gedanken zu Deinem Anliegen:
Tabelle "Status"
Status_ID Status
1 ja
2 nein
3 entschuldigt
Dem Kunden (bzw. der KundenID) ordnest Du dann wöchentlich die jeweilige Status_ID zu.
Möchtest Du das Formular so gestalten, dass möglichst nur Häkchen gesetzt werden müssen, dann bräuchtest Du für die verschiedenen Status je eine Spalte, die Du dann enstprechend mit "true" bzw. "1" belegst. Die o.a. separate Tabelle würde dann entfallen.
Die Abfrage ist über eine Kombination von Sortierung (nach Datum) und TOP(3) hinzukriegen.
Folgendes (vereinfachtes!) Beispiel verstehe bitte als Anregung, nicht als Komplettlösung!
Angenommen: Tabelle "Tab_Kunde" mit den Spalten ID, Vorname, Nachname, Öffnung, Ja, Nein, Entsch
Schritt1: Alle Datensätze aus der Kundentabelle werden zurückgegeben, die sich auf die letzten drei Öffnungszeiten beziehen.
Schritt2: Über das Ergebnis zählt man dann alle Vorkommen von "true" bei "Nein" oder -im Falle einer separaten Statustabelle s.o.- die Anzahl von Status_ID = 2. Ist das Ergebnis für einen Kunden =3, dann Serienbrief
Also würde folgende Abfrage alle Kunden listen, die die letzten 3 Male nicht erschienen:
Gruß Barlee
im folgenden auf die Schnelle ein paar Gedanken zu Deinem Anliegen:
Du könntest eine separate Tabelle erstellen, die die möglichen Status bereitstellt. Also z.B.1. Wie realisiere ich die Wahl zwischen ja/nein/entschuldigt? (Boolean wäre ja einfach gewesen, aber da fehlt mir halt sozusagen die "2".)
Tabelle "Status"
Status_ID Status
1 ja
2 nein
3 entschuldigt
Dem Kunden (bzw. der KundenID) ordnest Du dann wöchentlich die jeweilige Status_ID zu.
Wöchentlich eine neue Spalte anzulegen ist aus meiner Sicht nicht glücklich. Besser wären neue Zeilen. Und diese kann die DV Helferin durch einen Klick im Formular erzeugen. (Hinzufügen eines neuen Datensatzes). Mann kann die entsprechende Tabelle dann so einrichten, dass automatisch das aktuelle Datum (als wöchentlicher Termin) eingetragen wird. Das hatten wir z.B. hier: viewtopic.php?f=8&t=194002. Wie kann ich es einrichten, dass diese Tabelle "selbständig" wöchentliche Termine hinzufügt? Ganz ideal wäre es, wenn Base jede Woche eine neue Spalte anlegen würde und die datenverarbeitende Helferin nach Abschluss eines Ausgabetages in einem Formular nur noch Häkchen setzen müsste.
Möchtest Du das Formular so gestalten, dass möglichst nur Häkchen gesetzt werden müssen, dann bräuchtest Du für die verschiedenen Status je eine Spalte, die Du dann enstprechend mit "true" bzw. "1" belegst. Die o.a. separate Tabelle würde dann entfallen.
Das Wichtigste ist hier die Einschränkung auf die letzten drei Öffnungszeiten.3. N[ch dreimaligem unentschuldigten Fehlen in Folge soll automatisch ein Brief an den Kunden gehen, in dem er gefragt wird, ob er Kunde bleiben möchte. Wie kann ich das abfragen?
Die Abfrage ist über eine Kombination von Sortierung (nach Datum) und TOP(3) hinzukriegen.
Folgendes (vereinfachtes!) Beispiel verstehe bitte als Anregung, nicht als Komplettlösung!
Angenommen: Tabelle "Tab_Kunde" mit den Spalten ID, Vorname, Nachname, Öffnung, Ja, Nein, Entsch
Schritt1: Alle Datensätze aus der Kundentabelle werden zurückgegeben, die sich auf die letzten drei Öffnungszeiten beziehen.
Code: Alles auswählen
Select * from Tab_Kunde where Öffnung in (select TOP(3) Öffnung from Tab_Kunde order by Öffnung desc)
Also würde folgende Abfrage alle Kunden listen, die die letzten 3 Male nicht erschienen:
Code: Alles auswählen
Select a.Vorname, a.Nachname, count(a.Nein) as anzahl
From
(
Select * from Tab_Kunde where öffnung in (select TOP(3) öffnung from Tab_Kunde order by öffnung desc)
) a
group by a.Vorname, a.Nachname
having count(a.Nein) = 3
Gruß Barlee
Re: Makro für wiederkehrende Termine
Vielen Dank für Deine Tipps! Ich stelle doch fest, dass es mir an manchen Punkten einfach am (logischen) Sachverstand fehlt, der nötig ist, um solche Lösungen zu finden. Aber ich arbeite dran.Barlee hat geschrieben:Besser wären neue Zeilen. Und diese kann die DV Helferin durch einen Klick im Formular erzeugen. (Hinzufügen eines neuen Datensatzes). Mann kann die entsprechende Tabelle dann so einrichten, dass automatisch das aktuelle Datum (als wöchentlicher Termin) eingetragen wird.
Eine Verständnisfrage habe ich zu Deinem Vorschlag: Wenn ich pro Woche eine Zeile anlege, dann sortiere ich meine Kunden doch in Spalten ein. Damit liegt diese Tabelle sozusagen "quer" zur Tabelle "Kunden", oder? So viel nur zum Verständnis.
Jetzt meine Probleme hierbei:
Zum einen ganz prinzipiell: Verstehe ich Dich richtig, dass ich sinnvollerweise eine Tabelle mit den Spalten "Ausgabetag" (über den verlinkten Vorschlag automatisiert), "KundenID" (aus der Tabelle "Kunden"), "anwesend/abwesend/entschuldigt" (aus der von dir vorgeschlagenen Status-Tabelle), "KundenID", "anwesend/abwesend/entschuldigt", "KundenID", "anwesend/abwesend/entschuldigt" usw. anlege?
Zum anderen variiert der Kundenstamm, weil Person rausfallen (bspw. durch eben jenes angesprochene Fernbleiben) oder dazukommen. Zerzeit sind es 75, es könnten aber 120 werden oder auch 30. Eine Verringerung scheint mir nicht so das Problem darzustellen, aber was passiert, wenn die Kundenmenge zunimmt?
Vielen Dank für Deine Hilfe soweit. Ich freue mich auf Dein nächstes Statement.
Re: Makro für wiederkehrende Termine
Hallo Neuling77,
-Ausgabetag
-Kunden_ID
-Status (mit der jeweiligen Status_ID) ODER separat die Spalten (anwesend, abwesend, entschuldigt)
Diese wird dann pro Ausgabetag gefüllt. Jeder Kunde wird in einer ZEILE für den jeweiligen Ausgabetag erfasst.
Also in etwa:
Ausgabetag, Kunden_ID, Status
06-09-08, 12, 0
06-09-08, 1, 2
06-09-08, 4, 1
13-09-08, 4, 2
...
Denkbar ist auch, dass Du generell nur Einträge für Kunden vornimmst, wenn sie anwesend oder entschuldigt waren. Ein fehlender Datensatz für einen Kunden an einem Ausgabetag weist dann -logischerweise- auf Abwesenheit hin
Damit eine solche Abfrage funktioniert, müsste in der Kundentabelle dann allerdings auch das "Eintrittsdatum" des Kunden erfasst werden. Denn wenn Kunde Nr 44 erst seit 01-12-07 Kunde ist, dann ist er natürlich in der Zeit davor nicht abwesend gewesen, da er ja noch kein Kunde war.
Sinnvoll wäre vielleicht in der Kundentabelle noch eine Spalte "Aktiv", in der man "Ja" und "Nein" erfassen kann, um jetzige von ehemaligen Kunden zu unterscheiden. Denn für Auswertungen können auch diese Infos sinnvoll sein.
Gruß Barlee
Nein, Du sortierst die Kunden in genau eine Spalte ein. Ebenso wie den Status.Wenn ich pro Woche eine Zeile anlege, dann sortiere ich meine Kunden doch in Spalten ein
Nein, mein Vorschlag ging in die Richtung, dass Du eine Tabelle erstellst mit den SpaltenVerstehe ich Dich richtig, dass ich sinnvollerweise eine Tabelle mit den Spalten "Ausgabetag" (über den verlinkten Vorschlag automatisiert), "KundenID" (aus der Tabelle "Kunden"), "anwesend/abwesend/entschuldigt" (aus der von dir vorgeschlagenen Status-Tabelle), "KundenID", "anwesend/abwesend/entschuldigt", "KundenID", "anwesend/abwesend/entschuldigt" usw. anlege?
-Ausgabetag
-Kunden_ID
-Status (mit der jeweiligen Status_ID) ODER separat die Spalten (anwesend, abwesend, entschuldigt)
Diese wird dann pro Ausgabetag gefüllt. Jeder Kunde wird in einer ZEILE für den jeweiligen Ausgabetag erfasst.
Also in etwa:
Ausgabetag, Kunden_ID, Status
06-09-08, 12, 0
06-09-08, 1, 2
06-09-08, 4, 1
13-09-08, 4, 2
...
Denkbar ist auch, dass Du generell nur Einträge für Kunden vornimmst, wenn sie anwesend oder entschuldigt waren. Ein fehlender Datensatz für einen Kunden an einem Ausgabetag weist dann -logischerweise- auf Abwesenheit hin
Damit eine solche Abfrage funktioniert, müsste in der Kundentabelle dann allerdings auch das "Eintrittsdatum" des Kunden erfasst werden. Denn wenn Kunde Nr 44 erst seit 01-12-07 Kunde ist, dann ist er natürlich in der Zeit davor nicht abwesend gewesen, da er ja noch kein Kunde war.
Damit bringst Du selbst ein gutes Argument, keine neue SPALTEN bei Erweiterung des Kundenstamms anzulegen. Das hieße ja, Du müsstest immer die Struktur der Tabelle (durch Hinzufügen/Löschen von Spalten) ändern. Von so einer Monstertabelle bei evtl. 120 Kunden einmal abgesehen. Stattdessen legst Du in der Kundentabelle einen neuen Kunden mit der Kunden_ID an und kannst diese Kunden_ID dann in der o.a. Tabelle weiterverwenden. Du hättest demnach pro Ausgabetag bei 75 Kunden auch 75 Datensätze und bei 30 dann entsprechend weniger und bei 125 Kunden dann mehr.Zum anderen variiert der Kundenstamm, weil Person rausfallen (bspw. durch eben jenes angesprochene Fernbleiben) oder dazukommen. Zerzeit sind es 75, es könnten aber 120 werden oder auch 30. Eine Verringerung scheint mir nicht so das Problem darzustellen, aber was passiert, wenn die Kundenmenge zunimmt?
Sinnvoll wäre vielleicht in der Kundentabelle noch eine Spalte "Aktiv", in der man "Ja" und "Nein" erfassen kann, um jetzige von ehemaligen Kunden zu unterscheiden. Denn für Auswertungen können auch diese Infos sinnvoll sein.
Gruß Barlee
Re: Makro für wiederkehrende Termine
Hallo Barlee!
Vielen dank soweit für Deine wirklich wertvollen Hilfestellungen. Dass manches viel einfacher funktioniert, als ich es mir gedacht habe (anderes dafür wesentlich komplexer ist), mache ich mir so langsam begreiflich.
Eine ganz woanders beheimatete Frage beschäftigt mich akut vordringlich. In der Vorgängerversion der Datenbank, die ich eher testweise erstellt habe, um mich mit Grundfunktionen vertraut zu machen, habe ich die Anzahl der Personen pro Kunde (also bspw. 2 Erw., 3. Kinder = 5 Pers.) manuell eingetragen und konnte dann über die Verknüpfung der Personensumme mit einer Tabelle "Preise" ausrechnen lassen, wie viel Geld welche Familie als symbolische Gegenleistung über die Theke schieben muss. Nun ermittle ich die Haushaltsgröße aber in der neuen DB über eine Ansicht, in der ich die Anzahl der Kinder und die der Erwachsenen summiere. Dummerweise scheint man aber nur Tabellen, nicht jedoch Ansichten oder Abfragen verknüpfen zu können, so dass mir diese (vergleichsweise einfache) Verbindung zwischen Personenanzahl und Ausgabepreis nicht mehr zur Verfügung steht. (Und ohne die Tabellen verknüpft zu haben, kriege ich natürlich nur elendig lange Listen, in denen jedem Kunde jeder Preis zugewiesen wird. )
Wäre es hier am einfachsten, die Haushaltsgrößen über CASE WHEN dem Preis zuzuordnen; es sind ja überschaubare Möglichkeiten, wenn man davon ausgeht, dass Haushalte i. d. R. nicht über 10 Mitglieder haben? Andererseits nehme ich der DV-Mitarbeiterin so die Möglichkeit, nachträgliche Preisänderungen unkompliziert einzupflegen.
Weißt Du Rat? Es würde mich sehr freuen.
Gruß Neuling
Vielen dank soweit für Deine wirklich wertvollen Hilfestellungen. Dass manches viel einfacher funktioniert, als ich es mir gedacht habe (anderes dafür wesentlich komplexer ist), mache ich mir so langsam begreiflich.
So erledigt und klappt prima. An der Usability muss ich noch ein wenig schrauben, aber das wird schon.Barlee hat geschrieben:Nein, mein Vorschlag ging in die Richtung, dass Du eine Tabelle erstellst mit den Spalten
-Ausgabetag
-Kunden_ID
-Status (mit der jeweiligen Status_ID)
Das Feld hatte ich von vorne herein vorgesehen, um unschön hohe (und sachliche falsche) Hausnummern bei den Fehltagen zu vermeiden. Irgendwie freuts mich, dass ich da "richtig" gedacht habe, auch wenn ich noch keine Ahnung habe, wie ich das umsetzen werde. Kommt aber später.Damit eine solche Abfrage funktioniert, müsste in der Kundentabelle dann allerdings auch das "Eintrittsdatum" des Kunden erfasst werden. Denn wenn Kunde Nr 44 erst seit 01-12-07 Kunde ist, dann ist er natürlich in der Zeit davor nicht abwesend gewesen, da er ja noch kein Kunde war.
Ebenfalls bereits im Vorfeld eingebaut. Dieser Klick soll auch in jedem Fall von Hand erfolgen, selbst wenn Kunden einmal zu häufig gefehlt haben.Sinnvoll wäre vielleicht in der Kundentabelle noch eine Spalte "Aktiv", in der man "Ja" und "Nein" erfassen kann, um jetzige von ehemaligen Kunden zu unterscheiden. Denn für Auswertungen können auch diese Infos sinnvoll sein.
Eine ganz woanders beheimatete Frage beschäftigt mich akut vordringlich. In der Vorgängerversion der Datenbank, die ich eher testweise erstellt habe, um mich mit Grundfunktionen vertraut zu machen, habe ich die Anzahl der Personen pro Kunde (also bspw. 2 Erw., 3. Kinder = 5 Pers.) manuell eingetragen und konnte dann über die Verknüpfung der Personensumme mit einer Tabelle "Preise" ausrechnen lassen, wie viel Geld welche Familie als symbolische Gegenleistung über die Theke schieben muss. Nun ermittle ich die Haushaltsgröße aber in der neuen DB über eine Ansicht, in der ich die Anzahl der Kinder und die der Erwachsenen summiere. Dummerweise scheint man aber nur Tabellen, nicht jedoch Ansichten oder Abfragen verknüpfen zu können, so dass mir diese (vergleichsweise einfache) Verbindung zwischen Personenanzahl und Ausgabepreis nicht mehr zur Verfügung steht. (Und ohne die Tabellen verknüpft zu haben, kriege ich natürlich nur elendig lange Listen, in denen jedem Kunde jeder Preis zugewiesen wird. )
Wäre es hier am einfachsten, die Haushaltsgrößen über CASE WHEN dem Preis zuzuordnen; es sind ja überschaubare Möglichkeiten, wenn man davon ausgeht, dass Haushalte i. d. R. nicht über 10 Mitglieder haben? Andererseits nehme ich der DV-Mitarbeiterin so die Möglichkeit, nachträgliche Preisänderungen unkompliziert einzupflegen.
Weißt Du Rat? Es würde mich sehr freuen.
Gruß Neuling
Re: Makro für wiederkehrende Termine
Hallo Neuling,
Mit anderen Worten: "die elendig langen Listen" sind vermeidbar.
Gruß Barlee
Nein, das ist nicht so. Ansichten (Views) verhalten sich wie Tabellen, die Du ansprechen; somit abfragen und auch verknüpfen kannst. Hast Du aus einer Abfrage einen View erstellt, wird dieser dann auch unter "Tabellen" in Base dargestellt.Dummerweise scheint man aber nur Tabellen, nicht jedoch Ansichten oder Abfragen verknüpfen zu können, so dass mir diese (vergleichsweise einfache) Verbindung zwischen Personenanzahl und Ausgabepreis nicht mehr zur Verfügung steht. (Und ohne die Tabellen verknüpft zu haben, kriege ich natürlich nur elendig lange Listen, in denen jedem Kunde jeder Preis zugewiesen wird. )
Mit anderen Worten: "die elendig langen Listen" sind vermeidbar.
Gruß Barlee
Re: Makro für wiederkehrende Termine
Ok, beruhigend zu lesen.
Aber dann mal für Dumme:
Wie erstelle ich aus einer Abfrage eine View? (In der normalen Entwurfsansicht werden mir nur Tabellen als Datenquellen aufgelistet, und über SQL-Eingabe gibts nen Error.)
Meine Views tauchen nicht unter den verknüpfbaren Tabellen auf (sonst hätte ich die Frage ja nicht gestellt). Wie kann ich sie trotzdem einbinden?
Vielen Dank für Deine Geduld!
Aber dann mal für Dumme:
Wie erstelle ich aus einer Abfrage eine View? (In der normalen Entwurfsansicht werden mir nur Tabellen als Datenquellen aufgelistet, und über SQL-Eingabe gibts nen Error.)
Meine Views tauchen nicht unter den verknüpfbaren Tabellen auf (sonst hätte ich die Frage ja nicht gestellt). Wie kann ich sie trotzdem einbinden?
Vielen Dank für Deine Geduld!
Re: Makro für wiederkehrende Termine
Hallo Neuling,
[[uote]Meine Views tauchen nicht unter den verknüpfbaren Tabellen auf (sonst hätte ich die Frage ja nicht gestellt). Wie kann ich sie trotzdem einbinden?[/[uote]
Wo tauchen sie nicht auf? Wie gesagt, Du findest Views unter "Tabellen".
Gruß Barlee
In der Base Übersicht>> rechte Maustaste auf Abfrage >> Als Ansicht erstellen >> View erscheint unter "Tabellen"Wie erstelle ich aus einer Abfrage eine View?
[[uote]Meine Views tauchen nicht unter den verknüpfbaren Tabellen auf (sonst hätte ich die Frage ja nicht gestellt). Wie kann ich sie trotzdem einbinden?[/[uote]
Wo tauchen sie nicht auf? Wie gesagt, Du findest Views unter "Tabellen".
Gruß Barlee
Re: Makro für wiederkehrende Termine
Unter Extras>Beziehungen... habe ich nur "echte" Tabellen zur Auswahl, keine Views.Barlee hat geschrieben:Wo tauchen sie nicht auf? Wie gesagt, Du findest Views unter "Tabellen".
Re: Makro für wiederkehrende Termine
Hast Recht. Ist aber kein Problem. Entweder gibt man diese dann in purem SQL in der Abfrage an (z.B. ... Tab1.ID=Tab3.ID...)
oder, wenn Dir die Abfrage-Entwufsansicht lieber ist, über Einfügen>>Relation. Hier werden Views angezeigt.
Gruß Barlee
oder, wenn Dir die Abfrage-Entwufsansicht lieber ist, über Einfügen>>Relation. Hier werden Views angezeigt.
Gruß Barlee
Re: Makro für wiederkehrende Termine
Juchu! Ich habs gelöst!
Vielen Dank Barlee für Deine Mühe! (Ich weiß, dass es bisweilen recht mühselig sein kann, Naivlingen wie mir zu helfen.)
Ein Problem am Rande war, dass folgender Code nicht das gewünschte Ergebnis erzielte, weil der TOP-Befehl anscheinend anders gestrickt ist und wirklich nur die Tops ausgibt, insofern er bis zur gewählten Anzahl hochzählt und dann alle weiteren Ergebnisse dazu nimmt, die ebenfalls dem TOP-Inhalt entsprechen, was bei mir zur Konsequenz hatte, dass ich - egal ob über "TOP(1)", "(2)" oder "(73)" immer nur den ersten Ausgabetag bekommen habe:
Vielen Dank Barlee für Deine Mühe! (Ich weiß, dass es bisweilen recht mühselig sein kann, Naivlingen wie mir zu helfen.)
Ein Problem am Rande war, dass folgender Code nicht das gewünschte Ergebnis erzielte, weil der TOP-Befehl anscheinend anders gestrickt ist und wirklich nur die Tops ausgibt, insofern er bis zur gewählten Anzahl hochzählt und dann alle weiteren Ergebnisse dazu nimmt, die ebenfalls dem TOP-Inhalt entsprechen, was bei mir zur Konsequenz hatte, dass ich - egal ob über "TOP(1)", "(2)" oder "(73)" immer nur den ersten Ausgabetag bekommen habe:
Ich habs gelöst, indem ich in einer separaten View die "Öffnungen" ausgelesen und das TOP über diese View habe laufen lassen. Vielleicht nicht "dc" ("datenverarbeitungsmäßig correct"), aber es arbeitet.Barlee hat geschrieben:Schritt1: Alle Datensätze aus der Kundentabelle werden zurückgegeben, die sich auf die letzten drei Öffnungszeiten beziehen.Code: Alles auswählen
Select * from Tab_Kunde where Öffnung in (select TOP(3) Öffnung from Tab_Kunde order by Öffnung desc)
Re: Makro für wiederkehrende Termine
Hallo Neuling77,
freut mich, wenn ich helfen konnte. Auch freut mich, dass Du Deine Aufgabe gelöst hast!
Nochmal zum TOP Befehl. Wie Du gesehen hast, führen viele Wege zum Ziel. Du hast Dich für einen View entschieden, auf den Du TOP "loslässt".
Alternativ kannst Du auch DISTINCT mit in die Abfrage einbinden. DISTINCT ignoriert doppelte Einträge und würde, auf die Spalte "Öffnung" angewendet, alle Öffungszeiten nur einmal ausgeben. Anschließend wird TOP für diese eingeschränkte Menge benutzt.
Gruß Barlee
freut mich, wenn ich helfen konnte. Auch freut mich, dass Du Deine Aufgabe gelöst hast!
Nochmal zum TOP Befehl. Wie Du gesehen hast, führen viele Wege zum Ziel. Du hast Dich für einen View entschieden, auf den Du TOP "loslässt".
Alternativ kannst Du auch DISTINCT mit in die Abfrage einbinden. DISTINCT ignoriert doppelte Einträge und würde, auf die Spalte "Öffnung" angewendet, alle Öffungszeiten nur einmal ausgeben. Anschließend wird TOP für diese eingeschränkte Menge benutzt.
Code: Alles auswählen
Select * from [Kundentabelle]
where Öffnung in (select TOP(3) Öffnung from (select distinct Öffnung from [Kundentabelle])order by öffnung desc)
Re: Makro für wiederkehrende Termine
Hallo Barlee,Barlee hat geschrieben:Auch freut mich, dass Du Deine Aufgabe gelöst hast!
danke für den weiterführenden HInweis! Dein Verfahren wirkt irgendwie eleganter, keine Frage. Aber mir gehts ja wirklich nur um zuverlässige Ergebnisse.
Gelöst ist meine Aufgabe damit leider noch nicht, denn mir fehlt noch die Übergabe dieser Daten in den fällig werdenden Serienbrief. Ich denke, dass mein Problem dabei dem hier viewtopic.php?f=8&t=20339 geschilderten sehr nahe kommt und freue mich nach wie vor auf Hinweise, die mich der Lösung ein bisschen näher bringen.
Gruß
Neuling