1.7k Aufrufe
Gefragt in Datenbanken von
Hallo,

ich bin momentan dabei eine Datenbank zur Auswertung von Schulungen zu schreiben. Leider fehlt mir dafür noch eine Abfrage die mir ein Datum + die Zeit die die Schulung gilt angibt.

Ich habe 2 Spalten dafür pro Schulung. Spalte 1 Steht das Datum selbst drin, Spalte 2 die Formel zur Berechnung des neuen Datums.

Die von mit benutzte Formel sieht so aus.

Feld_2:WENN(Feld1="";"";DatAdd('YYYY';4;Feld1))

Die wenn Funktion klappt bestens aber das errechnete Datum kommt nicht raus. es steht immer nur #fehler.

Über hilfe würde ich mich sehr freuen.

5 Antworten

0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Berechnungsfeld1
[Datum Ende der Schulung]-[Datum Beginn der Schulung] >ergibt die Tage

Berechnungsfeld2
[Datum Deiner Wahl]+Tage wie oben > ergibt neues Datum

Hoffe es richtig verstanden zu haben.

Gruß

Paul1
0 Punkte
Beantwortet von
Danke mal schauen ob ich das richtig verstanden habe... also.

Die Schlung dauert nur 1 Tag oder manchmal 2 aber diese Zeiten sind nicht relevant.

Kleines Bsp. Die Schulung Erste Hilfe hat eine zeit von 4 Jahren, danach muss die Schulung erneut besucht werden damit man weiterhin als Fachkraft für Erste Hilfe angesprochen werden kann.

Habe die Schulung am 01.01.2008 abgelegt. Bedeutet sie läuft am 01.01.2012 ab, heisst am Anfang des jahres.

Der soll mir in den Datenfeldern das Datum wann die Schulung abgelaufen ist berechnen.

Dazu kommt das ich keine Datumsfelder direkt benutzen kann für die Formel sondern wie in Acces üblich kann ich das nur über die Überschrieften machen.

Habe dafür immer das Feld (bsp. Erste Hilfe endet) hinter dem normalen gemacht.

Da nicht jeder die Schulung auch machen musste hat auch nicht jeder da ein Datum stehen, deswegen die Wenn Funktion. Aber die DatAdd Funktion sollte ja normalweise das Datum + die Zeit die es hält nehmen. Macht diese dumme Funktion aber nicht.

Trotzdem werden ich das morgen noch mal etwas umvariiren und ausprobieren. Vielleicht war das doch eine gut Lösung.
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Die Wenn -Abfrage ist nicht erforderlich, denn ohne Datum keine Berechnung, verwende folgende Formel wenn Du z.B. 4 Jahre hinzurechnen willst:

DatAdd('yyyy';4;[Feld1])

bei Monaten "m", bei Tagen "d"

siehe auch nachfolgenden Link:

DatAdd

Wusste nicht um die Gestaltungsverhältnisse der Datenbank, daher mein vorheriger Vorschlag, der wenn Du es einrichten könntest für meine Begriffe gründlicher wäre.

Gruß

Paul1

Excel/Access 2003
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Die Formel aus der Anfrage habe ich etwas abgeändert:

Wenn([Feld1]=0;0;DatAdd('yyyy';4;[Feld1]))

Die Formel funktioniert jetzt, jedoch wie bereits erwähnt ist die Wenn-Abfrage vernachlässigbar.

Gruß

Paul1
0 Punkte
Beantwortet von
Danke und du hattest recht, auch wenn die Wenn abfrage schon noch wichtig ist kann ich sie zumindest hier weg lassen und später einbauen.
Hab vielen Dank Paul1!
...