Office: (Office 2007) Abfrage mit Datum

Helfe beim Thema Abfrage mit Datum in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Bezüglich "Sinn": Man könnte sich auch mit dem Unterschied zwischen Plan und Ist auseinandersetzen. Ergänzende Informationen würde eher der Ist-Termin... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von kukl, 29. April 2020.

  1. Abfrage mit Datum


    Bezüglich "Sinn": Man könnte sich auch mit dem Unterschied zwischen Plan und Ist auseinandersetzen. Ergänzende Informationen würde eher der Ist-Termin verdienen.

    Aber mit einem Plan geht es erst einmal los.
     
    ebs17, 1. Mai 2020
    #16
  2. Hallo,

    vielen Dank für die Antworten und die vielen Gedanken drum herum. Dabei schießt ihr weit über das Ziel hinaus. Die Aufgabe ist eigentlich simpel (die Lösung leider nicht).

    Ich beschreibe es nochmal:

    In der Tabelle gibt es verschiedene Aufgaben (A bis H) die im Laufe eines Jahres verschieden oft (Menge) ausgeführt werden und den ersten Termin im Jahr.

    Nehmen wir als Beispiel die letzte Aufgabe (H) in der Tabelle.
    Die Aufgabe "H" soll 3 mal im Jahr ausgeführt werden, also alle 4 Monate.
    Der erste Termin ist der 28.01.


    Dann soll in einer Abfrage die Aufgabe "H" 3 mal mit Termin
    28.01.
    28.05.
    28.09.
    angezeigt werden.

    Da die Aufgaben sich jährlich wiederholen spielt die Jahreszahl keine Rolle. Es gibt kein Startdatum und kein Enddatum. Nur die Termine für 1 Jahr.

    Ich habe die DB nochmal angehangen. Da ist ein Versuch einer Abfrage drin, leider bekomme ich nur den ersten Termin.
     
  3. Hallo,

    denke so wird es passen. Ein Enddatum braucht man, habe es bis 2050 vorgegeben.
    Das Jahr kannst eingeben, wenn du die Abfrage aufrufst.
     
    Kyron9000, 1. Mai 2020
    #18
  4. Abfrage mit Datum

    Die sinnvolle Funktion DateAdd benötigt aber als Argument ein richtiges Datum, also einen Wert vom Datentyp Date und mit Jahr. Denn ein richtiges Datum ist intern eine Zahl, und eine solche kann man weiterzählen, bei einem Text ist das nicht möglich. Folglich muss aus Deinem Text Termin mit irgendeiner Jahreszahl (eigener Wahl) ein Datum gezimmert werden. Das macht der Vorschlag von Klaus.
    Eine Alternative zur Datumserzeugung wäre die Verwendung von DateSerial.

    Daraus mehrere Termine in Folge ableiten kann man in einer Abfrage nur über die Verwendung einer Zahlenhilfstabelle, wie dann ich das gezeigt habe.
    Geplante Termine sind i.d.R. nur fiktiv und werden erst mit einer Wahrnehmung / Nutzung zum Fakt und damit zu einem sinnvollen Tabelleninhalt und sind also bis dahin in einer Abfrage als Berechnung (virtuelle Tabelle) bestens aufgehoben.

    Die (schlechtere) Alternative wäre, den Eingangsdatensatz gleich in eine Tabelle zu schreiben und per VBA-Schleife die zusätzlichen Termine zu erzeugen. Aber auch hier wäre die Datumsberechnung an sich die gleiche.

    Zum Verständnis wäre es hilfreich, sich in der VBA-Hilfe die genannten Funktionen erst einmal richtig anzusehen - für den Fall, dass man verstehen und nicht nur blind kopieren will.
     
    ebs17, 1. Mai 2020
    #19
  5. Hallo,

    vielen Dank für die Hilfe.

    @Kyron9000
    Ja, das funktioniert. Aber damit muss ich mich in Ruhe beschäftigen, um es zu verstehen. Eventuell komme ich mit einer Frage darauf zurück.

    @ebs17
    Es sind keine fiktiven Termine, an diesen Terminen passiert etwas, was ich weiter bearbeiten möchte. Das Beispiel sollte mein Problem möglichst einfach darstellen.

    Alleine hätte ich eine Lösung sicherlich nicht gefunden.
    Also nochmal vielen Dank.

    Noch eine grundsätzliche Frage:
    Ursprünglich wollte ich den ersten Termin als Datum und nicht als Text in der Tabelle speichern. Gescheitert ist es daran, dass ich nur Tag und Monat benötige, also ohne Jahr.
    Wie macht man so etwas richtig?
     
  6. Danke, dass Du uns nicht überfordern möchtest. Hoffentlich lässt sich dann der einfache Gedanke auch in eine gewünschte Realität transferieren. Aber das ist dann eine selbstgewählte Aufgabe des Fragestellers, sehr löblich.
    Die Abfragen, so wie sie bisher gezeigt wurden, sind aber durchgehend nicht aktualisierbar im Sinne dessen, zusätzliche Informationen in zusätzliche Felder einzutragen, ein Speichern von Informationen in Abfragen selber geht nicht. Für einzutragende Fakten wäre dann ein Tabelleneintrag notwendig, wie oben beschrieben besser erst, wenn die Fakten auch Fakten sind. Dummydaten sind zumindest kein guter Stil.
    Das kommt darauf an.
    Wie gesagt, ein richtiges Datum ist eine Zahl. Verdeutlichen wir das für den heutigen Tag:
    Code:
    Der erste Wert ist ein Format des Datums, also eine Anzeigeform. In der englischen Sprachfassung sieht das gleiche Datum ganz anders aus.
    Der zweite Wert ist der interne Wert (Zahl). Der ist fix und verlässlich.
    Der dritte Ausdruck zeigt, dass man mit einem Datum unmittelbar mathematisch rechnen kann, also hier einen Tag dazu zählen kann. Bei einem Text "02.05.2020" wäre das schon etwas höhere Mathematik, besonders, wenn man dann auch Monats- und Jahreswechsel berücksichtigen wollte.
    Der vierte Ausdruck zeigt, dass man aus einem Datum sehr viel weitere Formate erzeugen kann, hier das Quartal eines Jahres. Formate sind austauschbar, je nach Zweck.

    Code:
    Ein Format, das Tageszahl, Monatszahl und Jahreszahl enthält, kann man zurück in ein Datum konvertieren. Die Typumwandlungsfunktion CDate ist allerdings von den länderspezifischen Einstellungen geleitet, wenn man da nicht aufpasst, kann das schon mal schiefgehen.

    Jetzt ist Hin- und Herrechnen ein großer Spaß, und viele betreiben das ausgiebig mit größtem Vergnügen, und so ein Code sieht ja dann auch wichtig aus. Richtig wäre aber, möglichst wenig und direkt zu rechnen - in einer (richtigen) Datenbank fällt dann die Arbeit durch Datenmasse an.

    Man könnte also auf die Idee kommen, sich unmittelbar ein verwendungsfähiges Datum zu hinterlegen und dieses zu benutzen, statt sich aus irgendwelchen Ablagen eines zusammenzubasteln.

    Noch eines liegt mir auf der Feder:
    Wenn ich vier Termine im Jahr haben möchte, muss ich nicht die zwölf Monate des Jahres mit 4 dividieren, um auf ein Schrittmaß von 3 Monaten zu kommen. Da definiere ich gleich in einer Tabelle, dass das Schrittmaß 3 Monate anzuwenden ist. Das, weil ich einfach denke und faul bin, also unnötige Rechenoperationen gerne vermeide. So etwas soll dann auch ab und zu gut und spürbar für das Laufzeitverhalten sein. Insbesondere scheue ich dann den Aufwand, für eine ähnliche Herausforderung (z.B. Schrittmaß 3 Wochen oder 100 Tage) eine Totalneuprogrammierung angehen zu müssen. Zwei Feldwerte abzuändern wäre aber für mich übersichtlich beherrschbar, per angebotener GUI auch für einen unbedarften User.
     
    ebs17, 2. Mai 2020
    #21
  7. Hallo,

    @ebs17

    Vielen Dank für die erneut sehr ausführliche Antwort.

    Wenn ich Hilfe benötige, versuche ich das Problem so einfach wie möglich zu beschreiben. In diesem Beispiel hat es leider dazu geführt, dass alle viel weiter als nötig gedacht haben. Das war nicht meine Absicht.

    Mit Hilfe der Abfrage sollen alle Termine eines Jahres ermittelt und dazu verschiedene Berechnungen durchgeführt werden, die dann in einem Bericht für ein komplettes Jahr also vom 01.01. bis zum 31.12. angezeigt werden. Da dieses in jedem Jahr gleich ist, kann man auf die Jahreszahl verzichten.

    In diesem Fall ist nur die Häufigkeit (1; 2; 3; 4 oder 6 mal) pro Jahr, also die Anzahl der Termine und der erste Termin in Form von Tag und Monat gegeben. Das habe ich dann auch so bei der Eingabe in eine Tabelle übernommen.

    Jetzt nochmal zu meiner Frage.
    Wie hätte ich den ersten Termin, also Tag und Monat speichern sollen?
     
  8. Abfrage mit Datum

    Als ein gültiges Datum. Das kann z. B. der 01.03.1900 sein. Damit lässt sich rechnen. In der Anzeige lässt Du einfach das Jahr weg.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Maxel, 2. Mai 2020
    #23
  9. Hallo,
    den 1. Termin als Datum zu speichern habe ich schon in #6 vorgeschlagen.
    Über das Format kann man steuern was vom Datum zu sehen ist.
    TT.MM. als Format reicht dann.
    Außerdem lässt sich aus dem Datum mit Tag(Datumsfeld) und Monat(Datumsfeld) den Tag und dem Monat als Zahl ermitteln, was aber hier nicht notwendig ist.
     
    gpswanderer, 2. Mai 2020
    #24
  10. Das "sollen" ist doch bei den paar Datensätzen wurscht, da kann man doch hin- und herrechnen, spürbar wird das nicht.
    Wirklich ändern willst Du auch gar nicht, denn da ginge man zuerst an Strukturen und Abläufe. Lieber hörst Du doch: Lass alles wie es ist, es ist super.
    Davon könnte man sich auch ableiten, dass man Tageszahl und Monatszahl abspeichern und mit einer hergenommenen Jahreszahl zu einem Datum formen kann.

    Aber ob man etwas Textverarbeitung betreibt und ein Datum zusammenbastelt oder ein vorhandenes Datum umbastelt oder aus Zahlen ein Datum zusammensetzt ... das alles ist doch wegen Geringfügigkeit egal.
    Nachdenken würde man vielleicht erst bei Datenmasse, wenn also der betriebene Aufwand summiert und potenziert wird und sich in "anderen" Laufzeiten niederschlägt. O.K., mancher lässt sich nicht von plötzlich auftretenden Datenmassen überraschen und macht manche Überlegungen und Umsetzungen unmittelbar, so zur Gewohnheitsbildung.
     
    ebs17, 2. Mai 2020
    #25
  11. \@Kukl
    Das heisst für mich "irgendeines".
    Wenn du das auch so siehst, kannst du natürlich auch weiterhin die
    gegebenen Hinweise ignorieren.
    Klar, ich werde auch jedes Jahr an meinem Geburtstag ein Jahr älter, - ist
    immer das Gleiche. *frown.gif*
    gruss ekkehard
     
    Beaker s.a., 3. Mai 2020
    #26
  12. Hallo,

    habe mich eine ganze Weile mit dem Problem beschäftigt. Was ich leider nicht hinbekomme, ist das Datum in der Tabelle.

    Bisher erfolgte die Eingabe ja in einem formatierten Textfeld. Man musste nur die Zahlen für den Tag und Monat eingeben, die Punkte am Ende von Tag und Monat kamen automatisch.

    Da dies in einem Datumsfeld wohl nicht möglich ist, hatte ich halt ein Textfeld genommen. Dass es damit Probleme gibt, habe ich nicht gewusst.

    Nun möchte ich, wie von Maxel vorgeschlagen, das Jahr 1900 für alle Termine speichern. Wie kann man es erreichen, das man wie bisher nur Tag und Monat eingibt und dann automatisch zusammen mit der Jahreszahl "1900" als Datum gespeichert wird?
     
  13. Abfrage mit Datum

    Hallo,
    warum die Jahreszahl 1900 ? Willst Du alle Termine ab 1900 gelistet haben ?
    Den 1. Termin hat es doch irgendwann gegeben, bzw. wird ihn geben. Und dieses Datum nimmst Du.
     
    gpswanderer, 4. Mai 2020
    #28
  14. Das war mein Vorschlag; mann könnte auch 2000 oder 4711 nehmen.

    Die Hinzufügung einer Jahreszahl zu Tag und Monat soll nur dazu dienen, ein gültiges Datum zu erzeugen, um mit DateDiff die weiteren Termine zu generieren. Da es dem TE nicht auf das Jahr ankommt, wird es in der Anzeige einfach weggelassen.

    Es geht also darum, die Terminkette irgendeines Jahres zu erzeugen und nicht etwa über mehrere Jahre.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Maxel, 4. Mai 2020
    #29
  15. Hallo kukl

    teste mal ev. kommt das für dich hin
     
    Kyron9000, 4. Mai 2020
    #30
Thema:

Abfrage mit Datum

Die Seite wird geladen...
  1. Abfrage mit Datum - Similar Threads - Abfrage Datum

  2. Abfrage Zwischen Datum und Datum

    in Microsoft Access Hilfe
    Abfrage Zwischen Datum und Datum: Hallo, in einer Abfrage möchte mir die Datensätze anzeigen lassen, welche zwischen 120 bis 150 Tagen vor dem Datum "Ablauf" liegen. Dem Grunde nach funktioniert meine erstellte Abfrage, aber...
  3. Datum in Abfrage fomatieren

    in Microsoft Access Hilfe
    Datum in Abfrage fomatieren: Hallo, In meiner Tabelle in einem Datumsfeld habe ich u. a. das Datum in dem Format: 11.09.2020 20:17:15 stehen. wie bekomme ich es in der Abfrage nur als 11.09.2020 formatiert. Stehe aktuell...
  4. Datum Abfrage nach Woche, Monat, Quartal, Jahr

    in Microsoft Access Hilfe
    Datum Abfrage nach Woche, Monat, Quartal, Jahr: Guten Tag, ich möchte die Option bieten, dass man über Buttons ein SQL Code ausführt, der die Datensätze Wöchentlich, Monatlich, Quartalsmäßig und Jährlich nur zeigt. Ohne diese Funktion sieht...
  5. SQL-Abfrage mit Kriterium Datum=Heute

    in Microsoft Access Hilfe
    SQL-Abfrage mit Kriterium Datum=Heute: Guten Tag allerseits, ich habe etliche Foren für folgendes Problem durchsucht, aber keine für mich verständliche Antwort gefunden. Aus der Tabelle "Wiedervorlage" möchte ich alle Datensätze...
  6. Sortieren nach Datum in Abfrage

    in Microsoft Access Hilfe
    Sortieren nach Datum in Abfrage: Hi, in einer Tabelle habe ich ein Feld EZeit welches im Format 11.01.2016 12:17:42 die Daten enthält. Ich möchte jetzt gerne die Daten nur nach dem Datum „11.01.2016“ darstellen und sortieren....
  7. Abfrage Datum der letzten 6 Wochen

    in Microsoft Access Hilfe
    Abfrage Datum der letzten 6 Wochen: Hallo, ich bin ein absoluter Neuling und verfüge leider nur über rudimentäre Kenntnisse in Access. Nun Versuche ich für ein Projekt, in Access 2016 eine Datenbank zu erstellen die ca. 400...
  8. Tabelle mit AB und BIS Datum - Abfrage einbauen

    in Microsoft Excel Hilfe
    Tabelle mit AB und BIS Datum - Abfrage einbauen: Hallo Liebe Forengemeinde. Dies ist mein erster Beitrag hier nachdem ich bereits seit langer Zeit (begeisterter) Mitleser bin. Ich behaupte von mir gefährliches Halbwissen rund um Office zu...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden