Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: surfbinu am November 04, 2010, 17:28:00

Titel: Zwei Datumsfelder zusammenrechnen
Beitrag von: surfbinu am November 04, 2010, 17:28:00
Hallo!

Folgendes Problem hab ich in einem Formular, bzw. Bericht:

In Feld "Datum Ende" hab ich einen Datumswert wie "31.12.2010". In Feld "Kündigungsfrist" hab ich eine Angabe wie "12 Monate". Ich möchte nun in Feld "Kündigungstermin" den Wert A minus Wert B rechnen. Kann mir jemand sagen wie ich das machen muss?

Beste Grüsse und vielen Dank!
Albin
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: DF6GL am November 04, 2010, 17:44:19
Hallo,

schlecht ist, dass im Feld "Kündigungsfrist" keine "gescheite" Zahl drinsteht.


Sonst könntest Du leicht die Dateadd-Funktion benutzen, um zu einem entspr. anderen Datum zu kommen.
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: lumbumba am November 04, 2010, 18:07:12
Wie DF6GL schon erwähnte man die Dateadd-Funktion benutzen. nur in deinem Fall isses etwas schwieriger,
Unter der prämisse das diese Feld standardiesiert ist, sprich 12 Monate, 3 Wochen, 5 Tage könnte eine Abfrage pimaldaumen folgt lauten:
SELECT Datumf, Kuend, Left([Kuend],(InStr(1,[Kuend]," "))-1) AS sVal, Mid([Kuend],(InStr(1,[Kuend]," "))+1) AS sInterval, DateAdd(Switch([sInterval]='Monate','m',[sInterval]='Wochen','w'),Val([sVal]),[Datumf]) AS Ausdr1
FROM TabelleXYZ;




Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: oma am November 05, 2010, 00:12:10
Hallo,

wenn im Text immer Monate angeführt wird, musst du eben aus Kündigungsfrist eine "gescheite Zahl" machen.

Das geht z.B. mit einer kleinen Funktion in ein beliebiges Modul deiner DB:

Public Function Za(strText) As Long
If Len(strText) = 0 Then Exit Function
Dim i As Integer
 
For i = 1 To Len(strText)
   Select Case Asc(Mid(strText, i, 1))
     Case 48 To 57, 45
     Za = Za & Mid(strText, i, 1)
   End Select
Next i
End Function


Damit gehts dann einfach in einer Abfrage:

select DatumEnde, Kündigungsfrist,
DateAdd("m",Za([Kündigungsfrist]),[DatumEnde]) AS DatumKündigung
from DeineTabelle


Gruß Oma
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: surfbinu am November 05, 2010, 09:08:52
besten Dank für deine Antwort. Leider bin ich damit weiterhin hilflos, ich weiss nicht wo ich das reinkopieren muss. Kann ich dir die Datei zusenden?

Beste Grüsse
Albin
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: surfbinu am November 05, 2010, 09:10:19
hier die Datei...

[Anhang gelöscht durch Administrator]
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: oma am November 05, 2010, 13:48:17
Hallo,

du solltest deine DB auf Access2003 konvertieren, 2007 haben (wie ich auch) noch nicht so viele

Gruß Oma
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: surfbinu am November 08, 2010, 14:18:35
ok, hier die Datei im 2003-er Format.

Nochmals, ich möchte im Formular im Feld "Nächster Kündigungstermin" das Resultat von "Datum Ende" minus "Kündigungsfrist" anzeigen lassen.

Kann mir da jemand helfen? Herzlichen Dank!

Albin

[Anhang gelöscht durch Administrator]
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: DF6GL am November 08, 2010, 14:33:30
Hallo,

anbei.



Auf Leer- und Sonderzeichen dringend verzichten!!



[Anhang gelöscht durch Administrator]
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: oma am November 08, 2010, 14:38:59
Hallo,

habe gerade auch fertig, gilt aber nur, wenn Kündigungsfrist immer in Monate angeben wird!

Gruß Oma

[Anhang gelöscht durch Administrator]
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: surfbinu am November 08, 2010, 15:49:57
besten Dank für eure Beiträge, das hat mir sehr geholfen!!!

Nun habe ich versucht, in einem Bericht ein Resultat anzuzeigen. Im Feld "Erfolg" möchte ich "Einnahmen" minus "Kosten" als Resultat einer einzelnen Zeile anzeigen lassen. Access rechnet mir aber die Summe der ganzen Spalte! Was hab ich falsch gemacht?

Beste Grüsse
Albinocchio

[Anhang gelöscht durch Administrator]
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: DF6GL am November 08, 2010, 16:01:16
2003-Format??
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: surfbinu am November 08, 2010, 16:09:17
jawohl, hier jetzt im 2003-er Format

[Anhang gelöscht durch Administrator]
Titel: Re: Zwei Datumsfelder zusammenrechnen
Beitrag von: DF6GL am November 08, 2010, 16:18:19
Hallo


"was hab ich falsch gemacht":

Du rechnest doch die Summe, da brauchst Du Dich nicht wundern, wenn der Bericht sie auch anzeigt.    ;)


füg aber erst die beiden Ausgangsfelder ein, setz sie auf unsichtbar und schreib im Steuerelement des Texfeldes für die Differenz:

=([Einnahmen]-[Kosten])