Frage : Zugangsform - Using die Summenfunktion, zum der Aufzeichnungen zu validieren

Ich habe ein subform, Aufzeichnungen mit einem Check-boxfeld zu enthalten. Ich möchte sicherstellen, dass diese eine und nur eine Aufzeichnung überprüft wird, also ich eine Gesamtmenge der SUMME (chk_preferred) in der Form header.
When, das ich eine Aufzeichnung überprüfe, die Gesamtmenge aktualisierte nicht zuverlässig hinzugefügt habe, also ich einen me.refresh Befehl im onclick Ereignis. hinzufügte. dieses jetzt wie erforderlich aktualisiert dem Gesamt.
However, möchte ich jetzt die Gesamtmenge im before_update Ereignis validieren, aber es scheint, dass Zugang den Wert des Gesamt validiert, bevor er refreshed.
Can hat, das jemand gefallen, mich zu führen, wenn er dieses erhält, zuverlässig zu bearbeiten?
Thanks.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Private Vorchk_preferred_Click ()
    Me.Refresh
Enden-Unterseeboot

Privates VorForm_BeforeUpdate (Löschen als ganze Zahl)
    Wenn txt_sum_preferred = 0 dann
        MsgBox „Sie müssen einen Lieferantenpreis vorwählen, wie bevorzugt“, vbInformation, „Wartezeit“
        Löschen = richtet aus
    ElseIf txt_sum_preferred < -1 dann
        MsgBox „Sie können einen Lieferantenpreis nur vorwählen, wie bevorzugt“, vbInformation, „Wartezeit“
        Löschen = richtet aus
    Beenden wenn
Unterseeboot beenden

Antwort : Zugangsform - Using die Summenfunktion, zum der Aufzeichnungen zu validieren

“ Die berechnete Gesamtmenge ist wirklich auf einer Vorform und ich möchte diesen Gesamtwert im before_update Ereignis der Elternteilform prüfen.

Wenn Sie das subform lassen, gespeichert die Aufzeichnungen, die darin angezeigt. Ebenso gespeichert eine Elternteilform, bevor Sie ein subform eintragen. Das heißt, die Abwehr der Hauptform ist zu verhindern, wenn das subform falsch ist gerade ärgerlich und liefert keine Datenintegrität (der Benutzer kann die Mitteilung annullieren und das subform bleibt falsch).

Die einfachste Lösung ist einen bevorzugten Lieferanten nicht vorwählen zu dürfen. In diesem Fall den preiswertesten oder gelegentlichen Lieferanten nehmen. Für den Code wenn ein Lieferant vorgewählt, wie bevorzugt, laufen nach Updateereignis, um die Markierungsfahne von jedem möglichem anderen Lieferanten in der Liste zu entfernen (unten sehen).

Es ist auch einfach, den Benutzer an der UNO-Prüfung der bevorzugten Markierungsfahne zu hindern, das, „bevor Update“ Ereignis des Überprüfungskastens d.h. zu verwenden und verhindert Einstellung er auf falsches, wenn der „alte Wert“ zutreffend ist. Sie können eine Mitteilung addieren: „Sie können nicht UNO-vorwählen einen bevorzugten Lieferanten, Sie können andere jedoch vorwählen“.

Das Versuchen, das Geschäftsprinzip einzuführen ist von Anfang an Schmerz. Sie Beste sollen vermutlich das „bevor Update“ Ereignis der Vorform und einfach eingestellt verwenden der bevorzugten Markierungsfahne, wenn es die einzige Aufzeichnung ist. Das erste ist der bevorzugte Lieferant, bis anders vorgewählt. Ein Spitzenrohprodukt, aber, wenn Sie es wirklich benötigen, es sind sinnvoll, das Weise.

Tut diese Hilfe?
(°v°)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Privates VorForm_AfterUpdate ()
    Wenn nicht bevorzugt, Unterseeboot dann herausnehmen
    Mit Me.RecordsetClone
        .MoveFirst
        Bis .EOF tun
            Wenn! Identifikation <> Me.ID und bevorzugtes dann
                . Redigieren
                . Bevorzugt = falsch
                . Update
            Beenden wenn
            .MoveNext
        Schleife
    Ende mit
Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us