Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Berechnung von Tagen (aber 2 Formate)

Begonnen von Dennis85, Dezember 06, 2010, 09:11:15

⏪ vorheriges - nächstes ⏩

Dennis85

Hallo Zusammen.
Ich schlage mich seit einiger Zeit mit einem Problem herum, dass ich bisher leider noch nicht lösen konnte. Vielleicht kann mir hier jemand helfen.
Ich habe mir eine Datenbank erstellt in der ich unter anderem Zalungen von Kunden überwachen kann. Nun habe ich ein Unterformular in dem ich Rechnungsdaten und Faelligkeitszahlungen eingeben kann. Nun möchte ich, das die Datenbank mir anzeigt in wieviel Tagen eine Rechnung fällig ist bzw. seit wann eine Rechnung fällig ist. Nun habe ich mir ein ungebundenes Textfeld angelegt und folgenden Code hinterlegt:
=DatDiff("t";[Faelligkeitsdatum];Datum())
Hiermit wird mir nun angezeigt, seit wann die Fälligkeit besteht. Im Feld soll stehen: Fällig seit x Tagen. Dafür habe ich folgendes Format eingegeben: "seit "0" Tagen". Funktioniert bestens. Nun möchte ich aber noch angeziegt bekommen: in x Tagen. Hierbei wird mir ja eine Minus Zahl angezeigt. Nun möchte ich das Access aber bei solchen Minus Zahlen schreibt: in x Tagen. Wie bekomm ich das hin? Wie erkennt Access wann welches Format genommen wird? Was muss ich tun?
Wenn möglich, bitte für einen Anfänger beschreiben  :)
Vielen Dank schonmal vorab.

MzKlMu

Hallo,
lösche das Format wieder und mache das mit einer Wenn Formel.

=Wenn(DatDiff("t";[Faelligkeitsdatum];Datum())<0;"Fällig in " & Abs(DatDiff("t";[Faelligkeitsdatum];Datum())) & " Tagen";"Fällig seit " & DatDiff("t";[Faelligkeitsdatum];Datum()) & " Tagen")
Gruß Klaus

Dennis85

SUPER!!!  GEnau so soll es funktionieren! Vielen Dank für die Hilfe! :)

Dennis85

Hallo MzKlMu.
Da ich so eine super Hiilfe bekommen habe, habe ich noch eine weitere Frage.
Ich hätte noch eine weitere Idee, die ich nicht genau umsetzen kann. Was kann ich tun, damit bei "fällig in! das Textfeld den Hintergrund grün färbt und bei "fällig seit" den Hintergrund rot färbt. Ich denke mal mit der bedingten Formatierung oder? Nur weiß ich nicht wie Access erkennen kann, was wann zu färben ist.
Wäre super wenn das noch ginge.
Auch hier schonmal vielen Dank vorab. ;)

MzKlMu

#4
Hallo,
na, ja, die Bedingung ist ja schon mal klar. Ist ja auch in der Wenn() Formel.
Es geht mit der bedingten Formatierung, siehe Bild.


PS:
In anderen Foren zu behaupten, Du hättest es selbst hinbekommen ist nun nicht gerade die feine Art.
Bedenke, die Access Foren sind ein Dorf, da bleibt nichts verborgen.

http://www.office-loesung.de/ftopic427307_0_0_asc.php

[Anhang gelöscht durch Administrator]
Gruß Klaus

Dennis85

Vielen Dank. Das funktioniert. Nun dachte ich, ich könnte auf der Basis dieser Angaben weitermachen, aber .....  :o
Leider nicht. Wie ich gesehen habe kann man nur 3 bedingte Formatierungen angeben. Besteht die Möglichkeit das zu ändern? Und zwar wegen folgendem. Ich wollte weiterhin folgendes tun:Ich habe noch ein Textfeld "Uneinbringlich", in dem man auswählen kann, ob es sich um eine Uneinbringliche Forderung handelt. Ist dies der FAll, soll das Statusfeld den Wert "seit Tagen" verleiren und der Hintergrund soll sich blau färben. Das habe ich aber nicht so ganz hinbekommen. Weder das der "Standardwert" seit Tagen verschwindet, noch die farbl. Markierung.
Weiterhin würde ich gerne noch das STatusfeld grau färben lassen, wenn nicht der volle BEtrag überwiesen wurde, sondern nur ein Teil und somit noch ein Restbetrag offen steht. Genial wäre natürlich, wenn der offene Restbetrag noch in dem Statusfeld stehen würde.
Und weiterhin noch eine Färbung mit einer andren Farbe, wenn der BEtrag gezahlt wurde.Habe ein Feld mit "Zahlungsdatum" und eins mit "Zahlungsbetrag". Nun müsste Access ja irgendwie erkennen, ob die gleiche Summe im Feld "Zahlungsbetrag" steht wie im im Feld "Forderung". Ist dies der Fall, dann Statusfeld Lila (z.b). Ist dies nicht der FAll, Statusfeld grau.
Ist so etwas umsetzbar? Oder überhaupt möglich? Oder viel zu komplex?

Jonny

Hallo,
erst die gute Nachricht: Ja es ist möglich,

dann die schlechte Nachricht: Es muß in VBA programmiert werden.


Ein Beispiel:
    If Feld1 = 1 Then
        Feld2.BackColor = vbRed
    Else
        Feld2.BackColor = vbGreen
    End If

BackColor ist die Hintergrundfarbe
vbRed bzw. vbGreen sind die Farben Rot Grün.

Wenn du Farben haben willst die nicht als vb vorhanden sind musst du den entsprechende Nummer einsetzen.

Soweit erstmal ein grundsätzlicher Ansatz.

Gruß

Johann

Dennis85

ok, danke schön, werde mich gleich mal dransetzen und versuchen das ganze umzusetzen. Ein Feedback folgt  :)

Dennis85

Eine Frage noch vorab. Wie kann ich in VBA Access mitteilen, dass eine bestimmte Farbe angewandt wird, wenn ein bestimmter betrag nicht komplett gezahlt wurde? Also Forderung ist 200 EUR. Zahlungsbetrag aber nur 150 EUR z.B.

Dennis85

@ MZKLMU
Bezüglich des anderen Forums: ich habe lediglich im andren Forum mitteilen wollen wie die Lösung ist und wollte nicht großartige Erklärungen abgeben. Ich denke mal nicht, dass das irgendein Problem darstellt. Es ging doch nicht um das wie sondern um die Lösung. Aber bitte, das nächste mal schreibe ich dazu von wem die genaue, exakte Lösung kam. Da habe ich überhaupt kein Problem mit.
Aber ich denke mal zurück zum Thema. Hier geht es doch um Lösungen im Access Bereich und nicht um irgendwelche Eitelkeiten.
Hat jemand eine Idee zu meinem Beitrag von 12:13 Uhr?

Jonny

Hallo

if me!zahlung = 0 then
   hier wurde nichts gezahlt
else
   if me!Forderung > me!zahlung then
      hier nicht alles gezahlt
   else
      hier alles gezahlt oder zuviel gezahtl
   end if
end if

Als Feldnamen habe ich zahlung und forderung angenommen.
Da me ist deshalb weil die Felder auf das aktuelle Form stehen

Gruß

Johann

Dennis85

Danke Jonny,
versuche es umzusetzen und melde mich nochmal.  :)

Dennis85

Ich muss noch kuez eine Zwischenfrgae stellen bevor es weiter geht mit den FArben, da dass ja irgendwie alles zusammenhängt.
Und zwar geht es um die Sache mit der BErechnung einer Differenz wenn ein Kunde weniger zahlt als gefordert.
Zur Zeit habe ich eine Abfrage (siehe Bild) die mir anzeigt welche Rechnungsbeträge offen sind und welche gezahlt sind. Allerdings kann er mir mit meiner Abfrage ja nicht anzeigen wenn ein Differnezbetrag besteht. So wie es jetzt ist, zeigt er mir bei einer Forderung von 300 EUR auch eine Zahkung von 300 EUR an auch wenn nur 200 EUR gezahlt wurden. Wie kann ich die Abfrage umstellen das ich auch Differenz angezeigt bekomme?
Vielen Dank vorab. :)

Dennis85

Das Bild hätte ich natürlich auch dranhängen müssen  ;D

[Anhang gelöscht durch Administrator]

Jonny

Hallo,

eine leere Spalte mit:
NochOffen: Forderung - Zahlung

Kann es sein das du dich vorm Formular und VBA drücken willst?
Wenn du aber wirklich mehr als 4 Formate (ein Standard + 3 benutzerdefinierte)  benötigts kommst du nicht drumherum.

Wie dem auch sei auch das bekommen wir hin.

Gruß

Johann