macro doet het pas de 2e keer

Status
Niet open voor verdere reacties.

r.segers

Gebruiker
Lid geworden
12 feb 2001
Berichten
98
Ik heb op een formulier een stopknop die verwijst naar een macro. Bij uitvoering van de macro wordt een bijwerkquery uitgevoerd die een wachtwoord in een tabel terug op nul zet. Een voor een werkt alles goed. Alleen, als ik op de stopknop druk is er geen bijgewerkt resultaat, wel als ik databank terug open en nogmaals afsluit.
Iemand enig idee ?
 
Waarschijnlijk moet je je formulier verversen, zet eens in code van de knop, na het uitvoeren van je query:
Me.Refresh (bewerkingen bijwerken)
Als dat niet helpt, probeer dan Me.Repaint (scherm opnieuw opmaken) of Me.Requery (alle gegevens van het formulier opnieuw berekenen) eens.
In macrotaal:
Me.Repaint is: SchermBijwerken
Me.Requery is: QueryOpnieuwUitvoeren
Me.Refresh is: OpdrachtUitvoeren >> Vernieuwen
 
Laatst bewerkt:
Nee, dit werkt niet.
mijn macro ziet er als volgt uit :
-echo off
- query openen (deze zet de waarde van het wachtwoord in een tabel weer op nul)
- afsluiten

De query werkt op zich goed. Ook als 'afsluiten' in de macro weggelaten wordt, werkt hij goed. Als ik dan normaal afsluit blijft alles goed.
Als ik 'afsluiten' in de macro zelf opneem, is het resultaat van de query pas goed bij de 2e keer dat ik de databank via de macro verlaat. Ook 2x 'query openen' na elkaar geeft geen verschil.
 
Wat bedoel je met bijwerken naar nul?
Een lege waarde in het veld of zet je "nul" in het wachtwoord veld.

Als je een Null waarde in het veld zet probeer eens met iets anders.
 
Het maakt niet uit welke waarde er in het wachtwoord staat, belangrijk is dat de juiste waarde bij het stoppen van de databank terug verdwijnt, zodat de volgende gebruiker de juiste waarde niet te zien krijgt.
 
Het gebruik van macro's in access geeft wel meer problemen, daarom kun je beter wat gaan programmeren in een module.

Als je alleen een query wilt uitvoeren is het ook niet zo moeilijk.

dim db as database()
dim strSQL as string

strSQL = "......"

set db = currentdb()
docmd.setwarings false
db.execute strSQL, dbfailonerror
docmd.setwarings true
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan