Hallo
Ich benötige wieder mal eure Hilfe bei einer Abfrage.
Habe eine kleine Datenbank in der ich Sicherheitsschulungen und deren jährlichen Nachweiß führe.
Der Aufbau der Datenbank sieht wie folgt aus.
Tabelle "Mitarbeiter"1:n Tabelle "Schulung"
Tabelle "Mitarbeiter" Mitarbeiter_ID, Name_Mitarbeiter, Vorname_Mitarbeiter, Mitarbeiter_PersNr
Tabelle "Schulung" ID_Schulung, FK_Mitarbeiter, FK_Kursart_Nr, Startdatum (Datum, kurz Format 00.00.0000)
Die Tabelle "Schulung" steht zu einer weiteren Tabelle "Kursart" n:1 in Beziehung.
Inhalt Tabelle "Kursart" ID_Kursart, Bez_Kursart, Sicherheitsunterweisung (als Ja/Nein)
In einer weitern Tabelle "Nachschulung" ist es möglich bei anhaken der Sicherheitsunterweisung im Formular Kursart das Datum der jeweiligen Nachschulung (Datum, kurz Format 00.00.0000) ein zutragen.
Nun zu meinem Problem:
In einer Abfrage möchte ich nun beginnend drei Monate vor Ablauf der letzten Sicherheitsunterweisung mir die Mitarbeiter anzeigen zu lassen, sowie auch die Mitarbeiter wo noch eventuell kein Datum vorhanden ist.
Bei der Datum Formatvorgabe in der Abfrage habe ich echt Probleme und bekomme es einfach nicht auf die Reihe, kann jemand mir helfen???? Wie ich das Format richtig vorgebe. Danke
Hallo,
Datum ist ein Zahlenfeld und die Formate spielen keine Rolle.
so kannst du hingehen und als Kriterium Startdatum - 90 nehmen.
Ich hab die einfache Variante mit 30 Tage pro Monat genommen
Gruß´
Johann
Hallo Jonny
Wenn ich wie du Vorgeschlagen Startdatum -90 Tage wähle werden die ohne aktuelles Datum und nach Ablauf der 90 Tage nicht mehr angezeigt, zu dem sollen die Mitarbeiter aus dem letzten Jahr dann nicht mehr angezeigt bekommen wenn sie eine Nachschulung / Sicherheitsunterweisung jüngst erhalten haben.
Hallo Stapi,
dann ist es etwas komplexer und mir ging es eigentlich darum das du kein Format benötigst.
Eine neue Spalte
Ausdr: DeinDatum - 90
Kriterium: <Datum()
Spalte: DeinDatum
oder Kriterium: null
Für die Mitarbeiter letztes Jahr fehlen mir die Felder, die dazu benötigt werden.
Gruß
Johann
Zitatbeginnend drei Monate vor Ablauf der letzten Sicherheitsunterweisung ... sowie eventuell kein Datum vorhanden
WHERE Ablauf <= DateAdd("m", 3, Date())
OR Ablauf Is NullDas wäre dann auch in der Lage, einen vorhandenen Index zu nutzen.
MfGA
ebs
Hallo
Danke für die Antworten, der Weg war doch so einfach. Ich hatte immer Versucht es mit einer Format Vorgabe zu lösen und bin dadurch auch zu keinen Ergebnis gekommen.