Office: (Office 2010) Zwei Felder im Formular vergleichen

Helfe beim Thema Zwei Felder im Formular vergleichen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Klaus, =[txtSummeEigeneJahresBeiträge]+[txtSummeFremdeJahresBeiträge] Ausdrücke werden asynchron zu den Events von Formularen ausgewertet. Im... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Klaus B aus D, 24. September 2019.

  1. Zwei Felder im Formular vergleichen


    Hallo Klaus,
    Ausdrücke werden asynchron zu den Events von Formularen ausgewertet. Im Formular_Current Event werden die beiden "Systeme" vermischt und das kann dann nicht funktionieren.

    Entsprechend dem, was Eberhard schon gesagt hat, sind Formulare und die Steuerelemente für die Anzeige verantwortlich und die Daten sind in den Tabellen hinterlegt. Berechnungen sollten also, wenn sie nicht nur angezeigt, sondern auch weiterverarbeitet werden, nicht auf Steuerelementinhalten basieren, sondern auf den Daten selber. Eigentlich eine "goldene" Regel.

    Deshalb solltest du die Berechnungen entsprechend umstellen und dann erst die berechneten Werte zur Anzeige bringen.

    Gruß Ulrich
     
    knobbi38, 13. Oktober 2019
    #16
  2. Hallo Josef,

    Yippie Yeah! So funktioniert es!
    Man kann zwar noch erkennen, dass das Ergebnis im neuen "Meldefenster" nicht unverzüglich mit dem DS-Wechsel erscheint, aber letztlich die Beträge vergleicht, nachdem die entsprechenden zwei Felder gefüllt sind, um dann erst die richtige Entscheidung zu treffen und auszugeben.
    Mit diesen beiden Wenn-Dann-Optionen kann ich nun weitere Formatierungsanpassungen innerhalb meines Formulars vornehmen.

    Besten Dank für den wertvollen Tipp.
    Ich werde damit das Thema schließen und bedanke mich bei den weiteren Unterstützern.
    Noch ein Hinweis für Marcel_LEV: die Code-Verlagerung zum Ereignis "AfterUpdate" konnte kein erwartetes Ergebnis bringen, da ich die Meldung beim Blättern durch die Datensätze benötige - auch wenn ich nichts geändert habe.

    Gruß Klaus
     
    Klaus B aus D, 13. Oktober 2019
    #17
  3. Hallo Klaus,
    Man sollte auch versuchen, eine Lösung zu verstehen. Mit der Lösung von Josef wird das Timing angeglichen und der Ausdruck in einem "rutsch" berechnet und ausgewertet, ohne das Events und asynchrone Ausdrücke kollidieren.
    Wenn du das jetzt aber für weitere Formatierungsanpasssungen als Vorlage nehmen möchtest, wird dir das später zunehmend Probleme bereiten, die du dann nicht mehr so einfach umgehen kannst.

    Gruß Ulrich
     
    knobbi38, 13. Oktober 2019
    #18
  4. Zwei Felder im Formular vergleichen

    Hallo Ulrich,

    ich bin ja bemüht, tiefer in die Materie einzutauchen - auch mit über 70 und sehr, sehr geringen Anwendungen.

    Wäre es denn vernünftig, die Berechnung von Beiträgen innerhalb der Abfrage zu realisieren, die dem Formular als Datenherkunft dient?
    Oder wäre es sogar nützlich, bereits in der maßgeblichen Datentabelle ein berechnetes Feld einzufügen?

    Gruß Klaus
     
    Klaus B aus D, 13. Oktober 2019
    #19
  5. Ja
    Nein, berechnete Felder haben in Tabellen nichts verloren, nur in Abfragen.
     
  6. Denkbar wäre z.B., die Summen aus Eigen- und Fremdbeiträgen in einer eigenen Abfrage zu berechnen. Diese wird dann in einem weiteren Unterformular angezeigt und ist, da über das Mitglied verknüpft, auch nur ein Einzeiler wie jetzt Deine berechneten Felder. Events spielen da plötzlich gar keine Rolle mehr.

    Was man desweilen durchaus gebrauchen kann: Durch die Abfrage sind diese Werte stets einfach ohne alle Abhängigkeiten auch an anderen Verwendungen verfügbar (=> Berichte, Statistiken, ...).
     
  7. Hallo Eberhard,

    jetzt habe ich mich angestrengt und eine Abfrage auf Basis einer Abfrage erstellt, um die Beiträge der Mitglieder hierin direkt berechnen zu können.

    Hintergrund der Berechnung: Mitglieder der Sterbekasse sind nach dem Monat ihres 80. Geburtstages beitragsfrei versichert. Die Jahresbeiträge werden immer in der Mitte des ersten Quartals im Folgejahr belastet. Wird ein Mitglied also im kommenden Jahr (2020) im Mai 80 Jahre alt, dann sind noch 5/12 des Jahresbeitrags zu zahlen.

    Ich verstehe nicht, warum meine Abfrage nach einer Eingabe für das Feld "SummeJahresbeitrag" fragt, obwohl dieses Feld in der Abfrage existiert.
    Lasse ich das Feld der Parameterabfrage einfach leer, dann liefert mir die Datenblattansicht der Abfrage nach dem "Ok" des PopUp-Fensters trotzdem das erwartete Ergebnis.

    Wie lässt sich dieses Manko vermeiden?

    Gruß Klaus
     
    Klaus B aus D, 14. Oktober 2019
    #22
  8. Zwei Felder im Formular vergleichen

    Die interne Abarbeitung einer Abfrage erfolgt nicht von links nach rechts und von oben nach unten, man braucht auch nicht nachzusinnen, ob dies auf Entwursansicht oder SQL-Ansicht bezogen ist.
    => Siehe Grundlagen - SQL ist leicht (11) - Reihenfolge der Abfrageabarbeitung
    Solche Parameterrückfragen entstehen, wenn ein unbekanntes Feld verwendet wird. Unbekannt deshalb, weil es erst nach dieser Verwendung berechnet wird und zur Verfügung steht.

    Umformulierung der Abfrage oder ganz anders machen.
     
  9. Hallo Eberhard,

    mein Lösungsansatz besteht darin, dass ich zunächst eine Beitragssumme in einer ersten Abfrage ermittle und diese Abfrage in einer weiteren Query "qryAltersabhängigeBeiträge" verwende. In diese Abfrage habe ich auch die ProfiCash-Beträge zwecks Vergleich aufgenommen, die demnächst fällig sind. Diese Query dient als Datenherkunft für ein Unterformular.

    Jetzt erscheint zwar die Meldung "Diskrepanz" bereits beim Öffnen des Hauptformulars, wenn ausgerechnet der 1. DS einen Soll-Ist-Beitragsunterschied aufweist, doch damit "kann ich leben".

    Danke für deinen Hinweis auf die SQL-Grundlagen, die ich gelesen und ausgedruckt habe.

    Gruß Klaus
     
    Klaus B aus D, 15. Oktober 2019
    #24
Thema:

Zwei Felder im Formular vergleichen

Die Seite wird geladen...
  1. Zwei Felder im Formular vergleichen - Similar Threads - Felder Formular vergleichen

  2. Horst

    in Microsoft Access Hilfe
    Horst: Hallo, wer kann mir erklären, wie ich in einem Formular mit VB auf ein bestimmtes Feld springen kann und dieses dann aktiv (dunkel hinterlegt) ist. Mit Set.Focus ist das ja leider nicht möglich....
  3. Formular Felder verschieben sich

    in Microsoft Outlook Hilfe
    Formular Felder verschieben sich: Hallo Habe in Outlook ein Formular SPOT.oft entworfen. Wenn ich mein Formular auf anderen PC's unter Laufwerk C:\Users\..........\AppData\Roaming\Microsoft\Templates\ abspeichere und das...
  4. Beziehungen von Feldern in einem Formular

    in Microsoft Access Hilfe
    Beziehungen von Feldern in einem Formular: Guten Tag, vielleicht kann mir jemand weiterhelfen, ich bin schon seit einigen Versionen aus Access raus, nun muss ich mich wieder damit beschäftigen/einlesen. (Ich nutze Access in der aktuellen...
  5. Wert aus Formular-Feld an SQL-Statement übergeben

    in Microsoft Access Hilfe
    Wert aus Formular-Feld an SQL-Statement übergeben: Hallo werte Access-Helfer, ich möchte in einem Unterformular (neues Angebot anlegen) nur die Werte in einer DropSown-Box angezeigt bekommen, die zu diesem Hauptformular (Kontakte dieses Kunden)...
  6. Inhalte aus 4 Feldern aus aktuellem Formular in Zwischenablage kopieren

    in Microsoft Access Hilfe
    Inhalte aus 4 Feldern aus aktuellem Formular in Zwischenablage kopieren: Hallo und guten Morgen, ich möchte die Inhalte von 4 Feldern (NICHT den ganzen Datensatz) per Button-Klick aus dem aktuellen Formular in die Zwischenablage kopieren, um diese dann z.B. in eine...
  7. Daten in bestimmtes Feld in Access Formular

    in Microsoft Access Hilfe
    Daten in bestimmtes Feld in Access Formular: Hallo, ich möchte eingescannte Daten über eine Software via Javascript in ein bestimmtes Feld in Access schreiben. Das Schreiben in eine bestimmte Tabelle ist mir klar und über ein normales...
  8. Feld aus Formular 1 im Formular 2 darstellen

    in Microsoft Access Hilfe
    Feld aus Formular 1 im Formular 2 darstellen: Hi vlt kann mir ja jemand Helfen oder hat eine Idee, vlt habe ich auch nur einen Denkfehler. Es geht um das frm_RechnungErstellen, das ist rechts unten ein Feld Gesamtsumme. Dieses Feld müsste in...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden