Welkom op het forum van startpagina!

Dit forum staat op alleen-lezen. Je kan hier informatie zoeken en oude berichten terugvinden, maar geen nieuwe berichten plaatsen.

Naar overzicht van alle forums

undo

  • Sabrina

    Private Sub cmdClose_Click()

    If MsgBox(“Save Changes?”, vbOKCancel) = vbOK Then

    DoCmd.RunCommand acCmdSaveRecord

    DoCmd.Close acForm, “FrmEditTP”

    Else

    Forms!FrmEditTP.Form.Undo

    Forms!FrmEditTP!subFrmRequest.Form.Undo

    Forms!FrmEditTP!subFrmGPL.Form.Undo

    Forms!FrmEditTP!subFrmDriver.Form.Undo

    Forms!FrmEditTP!subFrmDescription.Form.Undo

    Forms!FrmEditTP!subFrmCustomer.Form.Undo

    Forms!FrmEditTP!subFrmDepartement.Form.Undo

    Forms!FrmEditTP!subFrmDepartementWorkload.Form.Undo

    Forms!FrmEditTP!subFrmAction.Form.Undo

    DoCmd.Close acForm, “FrmEditTP”

    End If

    End Sub

    Ik heb een formulier met een tabcontrol bestaande uit 9 tabpagina's.

    Op elk tabpagina staat een subformulier met een eigen bestand.

    Ik probeer het volgende te bereiken:

    Bij het verlaten van het formulier wordt er gevraagd of men de wijzigingen wilt bewaren.

    Indien er voor nee gekozen wordt, dan moeten alle wijzigingen ongedaan gemaakt worden.

    Mijn code doet enkel de wijzigingen ongedaan van het eerste tabblad en van de rest niet.

    Hoe kan ik ervoor zorgen dat alle wijzigingen op alle tabbladen ongedaan gemaakt worden?

    Alvast bedankt!

  • Eric B

    Ik weet niet of dit lukt…maar probeer het eens

    zet de focus eerst op het subformulier en probeer dan eens

    me.undo

  • RV

    Sabrina,

    op het moment dat je navigeert naar een ander tabblad slaat Access ingevoerde / gewijzigde gegevens automatisch op.

    Daarom zal jouw code alleen de wijzigingen ongedaan maken in het subformulier waarin je het laatst bezig bent geweest als je op je knop drukt.

    Kan je helaas niet vertekllen hoe je dit dan wel op kan lossen.

    Je zult er in ieder geval een flinke batterij VBA code voor nodig hebben of een knop op ieder tabblad moeten gaan zetten.

    Dat laatste lijkt mij niet echt een praktische oplossing.

    RV