Automatisch opslaan uitschakelen

Status
Niet open voor verdere reacties.

h.hijma

Gebruiker
Lid geworden
7 sep 2001
Berichten
831
Als ik in een access-formulier (per ongeluk) iets verander, dan word die wijziging automatisch opgeslagen (als ik access afsluit wordt me niet gevraagd of ik de wijzigingen wil opslaan)
Hoe kan ik dit automatisch opslaan voorkomen/uitschakelen?
 
In access kan dit niet door een optie aan of uit te zetten voor zover ik weet.

Wat je wel kunt doe is een controle maken die afgevuurd wordt in het BeforeUpdate event van een formulier.

Als je daarin controleert op het Dirty vlaggetje dan kun je afhankelijk daarvan werken. Bijvoorbeeld:

Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim Result As Long
    
    If Me.Dirty Then
        Result = MsgBox("Er is iets gewijzigd, opslaan?", vbInformation + vbYesNo, "Record gewijzigd!")
        If Result = vbNo Then
            Cancel = True
        Else
            'Er is ja geantwoord, de normale acties mogen plaatsvinden.
            'Geen extra code nodig dus...
        End If
    End If
    
End Sub


Suc6,
 
Bedankt! werkt prima.

Weet je misschien ook hoe ik de teksten foutmeldingen van access kan veranderen. Bijvoorbeeld: als ik een op record verwijderen klik, en dan vervolgens toch nog van gedachte verander en op nee klik, dan krijg ik de foutmelding: De actie DoMenuItem is geannuleerd.

Kan ik hier zelf ook een tekst voor invullen?
 
Je kunt je eigen controles inbouwen door in je code de waarschuwingen uit te zetten.

Code:
docmd.setwarnings = false

De waarschuwing die je krijgt klinkt alsof je gebruik maakt van een een knop met daarachter een macro of dat je geen foutafhandeling in de VBA code hebt staan. Eventueel kun je de gebruikte macro converteren naar VBA en zo gebruik maken van foutafhandeling (wat in macro's niet kan.


Suc6,
 
Opslaan in Access

Hallo beheer25,

Ik zie dat je een code hebt gemaakt voor het opslaan van een record.
Waar plak je die code in?
Ik wil namelijk dat er een venster tevoorschijn komt als je een record hebt gewijzigd of ingevoegd in een formulier. Bijv: Wilt het opslaan?

Ik hoop dat je me kunt helpen.

Groetjes,

Lorena
 
Hoi Lorena,

Het is niet zo netjes om in een oude (6 jaar...) in te breken. Als je een vraag hebt, dan moet je eigenlijk een eigen vraag starten. Bovendien kun je de code die als antwoord is gegeven letterlijk in je formulier plakken, en dan zal hij het al doen. Er hoeft dus geen ander antwoord gegeven te worden dan wat er al staat.
 
Oké, maar waar in het formulier moet ik de code plakken?
Want als ik het letterlijk in het formulier plak. Dan komt alleen de code in de formulier te staan. Moet je het ergens in de eigenschapsvenster plakken?

Groetjes, Lorena
 
Je moet in het VBA scherm zijn van het formulier. Dus via <Eigenschappen>, tabblad <Gebeurtenissen>. En daar pak je de gebeurtenis <Voor bijwerken>.
 
Bedankt...

Maar ik heb de code in het eigenschapsvenster onder tabje gebeurtenis geplakt (zie bijlage).

:confused: Alleen werkt het niet, als ik wat wijzig in de formulier, dat er een venster tevoorschijn komt, of je het wilt opslaan?
 

Bijlagen

  • CODE.jpg
    CODE.jpg
    81,4 KB · Weergaven: 85
Maak even een eigen topic aan, want dan heb je een ander probleem...
 
Sorry, ik weet niet wat een topic is??!
Khad al gezocht op internet en in help van acces (topic aanmaken)..
maar kan nie echt vinden wat het precies is??
De afbeelding die ik je heb gestuurd klopt verder wel?

Groetjes,

Lorena
 
Een topic is een nieuwe vraag. Als je teveel op een forum rondhangt, ga je de maniertjes overnemen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan