[VBA] Toevoegen van een record annuleren lukt niet

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 00:30
Binnen Access 2000 kan een gebruiker door middel van een algemeen formulier records toevoegen, wijzigen of verwijderen.

Stel: Een gebruiker kiest ervoor om een record toe te voegen en vult de velden in. Voordat het record daadwerkelijk wordt weggeschreven, wordt nogmaals een bevestiging gevraagd.

Als de gebruiker naderhand het record toch niet wil toevoegen, dan moet de toevoeg-actie dus geannuleerd worden.

Als de gebruiker nog niets heeft ingevuld in de velden, kan dit worden bereikt door de volgende code:

code:
1
DoCmd.RunCommand acCmdUndo


Wanneer de gebruiker wel al tekst heeft toegevoegd, werkt de bovenstaande code niet. Op het moment dat er nl. tekst wordt ingevoerd, wijzigt de primaire sleutel van het record ivm. autonummering.

Wie weet hoe ik alsnog het toevoegen van records kan annuleren door middel van vba -code?

  • Bu588
  • Registratie: Maart 2000
  • Laatst online: 22-12-2025
Kan het niet gewoon door
code:
1
Me.Undo

uit te voeren, waarbij Me naar het gebruikte formulier verwijst?

Nothing is fool-proof to a sufficiently talented fool...


Verwijderd

Je kan het toevoegen van records inderdaad annuleren met DoCmd.Undo, maar je kan niet ongedaan maken dat de Autonummering toch doortelt. Ook als je rechtstreeks in de tabel gegevens invoert, heb je dat probleem.
Zodra je begint te typen, wordt een nieuw record aangemaakt, met een nieuw volgnummer. Zelfs als je het record toch niet toevoegt, wordt dat Autonummer niet meer gebruikt.

Als je dat echt niet wil, is er natuurlijk een andere oplossing: maak dan een unbound formulier, en sla handmatig de gegevens in de tabel op, nadat op OK is geklikt.

Verwijderd

Probeer het eens op deze manier.

DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70