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.
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")
SUPER!!! GEnau so soll es funktionieren! Vielen Dank für die Hilfe! :)
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. ;)
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 (http://www.office-loesung.de/ftopic427307_0_0_asc.php)
[Anhang gelöscht durch Administrator]
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?
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
ok, danke schön, werde mich gleich mal dransetzen und versuchen das ganze umzusetzen. Ein Feedback folgt :)
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.
@ 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?
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
Danke Jonny,
versuche es umzusetzen und melde mich nochmal. :)
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. :)
Das Bild hätte ich natürlich auch dranhängen müssen ;D
[Anhang gelöscht durch Administrator]
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
Danke für die Hilfe. Also um ein Formular drücken will ich mich eigentlich nicht :)
Es ist so das diese Zahlungsgeschichte ein Unterformular wird, welches als Datenquelle die Abfrage ist. Somit berechne ich mir noch die Summe der offenen Beträge und die Summe der fälligen BEträge. Und eben noch die Differenz bei Teilzahlungen. Dies soll dann später "auf einen Blick" im Unterformular zu sehen sein.
Ich versuche jetzt mal mit den ganzen Informationen weiterzubasteln und gebe Feedback.
Achso. Wenn ich das ganze mit VBA in einem Rutsch lösen könnte wäre das natürlich auch super. Nur kenne ich mich damit leider nicht genug aus schätze ich. ;)
Hallo
mach mal erst die Abfrage und das UFO.
Wenn alles soweit ist bauen wir gemeinsam die VBA Geschichte ein.
PS: vom Senden bitte schauen ob du alles hast.
Gruß
Johann
Jetzt wirds wieder schwierig. Habe das mit den offenen Posten so ubernommen. Funkioniert auch prima. Nun habe ich aber folgendes Problem. In der Fußzeile des UFOs sollen die Summen zusammengerechnet werden.
Also das UFO ist ein Endlosformular, da auch Ratenzahlungen, sprich mehrere Teilrechnungen erstellet werden können. Nun berechnet ja der Code für die offenen Posten den offenen Betrag jeder einzelenen Rechnung. Was auch gut ist. Nur wie bekomme ich nun unten in die Fußzeile eine gesamte offene Posten Anzeige. Also die einzelenen Differenzbeträge + die noch nicht gezahlten und auch noch nicht fälligen Rechnungen aus dem Feld "Forderungen. Einfach nur mit + funktioniert es ja nicht. Da rechnet er mir alles wieder zusammen. Auch die, die schon bezahlt sind. Wie kann ich das lösen?
gelöscht
Wollte nochmal kurz auf mein Problem mit den Summern der offen Posten (siehe letzter Beitrag) zurückkommen?
Hat jemand eine Idee?
ist wirklich niemand da, der das lösen könnte?
Hallo,
im Formfuß kannst du rechnen:
z.B. =summe([Forderungen])-Summe([gezahlt])
Gruß
Johann
Super. jetzt bin ich ein großes Stück weiter. :)
Allerdings benötige ich noch die eine Sache mit den Farben.
Also das die Farbe bei "seit Tagen" und "in Tagen" sich ändert habe ich hinbekommen. Auch das die Farbe sich nochmlas ändert wenn der Betrag gezahlt wurde.
Nur muss ich jetzt noch bei bezahlt haben das, dass seit Tagen bzw. in Tagen verschwindet, da es trotz bezahlung sonst immer noch da steht. Also im Prinzip so, das wenn der "Zahlungsbetrag" eingegeben wurde, das in tagen verschwindet. den aufgrund der basis des Zahlungsbetrags wechselt das Feld auch die FArbe. Wie kann ich das machen?