Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Zwei Datumsfelder zusammenrechnen

Begonnen von surfbinu, November 04, 2010, 17:28:00

⏪ vorheriges - nächstes ⏩

surfbinu

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

DF6GL

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.

lumbumba

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;




---

oma

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
nichts ist fertig!

surfbinu

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

surfbinu

hier die Datei...

[Anhang gelöscht durch Administrator]

oma

Hallo,

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

Gruß Oma
nichts ist fertig!

surfbinu

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]

DF6GL

Hallo,

anbei.



Auf Leer- und Sonderzeichen dringend verzichten!!



[Anhang gelöscht durch Administrator]

oma

Hallo,

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

Gruß Oma

[Anhang gelöscht durch Administrator]
nichts ist fertig!

surfbinu

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]


surfbinu

jawohl, hier jetzt im 2003-er Format

[Anhang gelöscht durch Administrator]

DF6GL

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])