Ga naar inhoud

Hoe kan je in VBA programmeren dat een veld in een formulier is gewijzigd


C.C.Roffelsen

Aanbevolen berichten

Ik ben bezig om in Access een database te ontwerpen.

Nu wil ik als op een formulier een veld gewijzigd is dat in MutDatum de mutatiedatum wordt geplaatst.

MutDatum is ook een veld op dat formulier.

Maar ik wil pas een wijziging van de mutatiedatum als er ook werkelijk een

wijziging heeft plaatsgevonden. Bovendien wil ik een mogelijkheid om de wijziging te kunnen resetten en dat dan ook de oude mutatiedatum weer in MutDatum wordt geplaatst.

Ik hoop dat mijn vraag duidelijk is. Wie kan mij helpen:stupid:

Link naar reactie
Delen op andere sites

Je klik met de rechtermuisknop op eigenschappen bij mutatiedatum

Bij verlaten klik je op gebeurtenis.

Je moet dan enkel zo doen:

on error goto mijnfout

MutDatum = mutatiedatum

mijnfout:

exit sub

Opgelet: access maakt een duidelijk onderscheidt tussen besturingselement naam en overige naam.

De bovenstaand code werkt enkel binnen de formulier.

Indien het hoofdform en een subform gaat dan moet je ook vermelden.

Een voorbeeld:

Controleer in de hoofdformulier dit:

If Form_FrmVerkoopboekDet!Nultarief = 0 And Form_FrmVerkoopboekDet!Basis21 = 0 And Credit = Form_FrmVerkoopboekDet!Basis6 Then

FRRek = "704001"

End If

In dit geval moet access controleren of Credit overeenkomt met Basis6 in de hoofdform FrmVerkoopboekDet

aangepast door stegisoft
Link naar reactie
Delen op andere sites

Bedankt stegisoft!

Ik heb de oplossing zelf al gevonden.

Ik heb een funktie gemaakt voor het annuleren:

DoCmd.RunCommand acCmdUndo

en die in een knop op het formulier gezet

Daarna in de velden op het formulier die gewijzigd kunnen worden in het eigenschappenvenster bij gebeurtenis, bij gewijzigd in VBA gezet:

Me.MutDatum = Date

Verder wordt de mutatie in een mutatieregister gezet met:

Me.MutRegister = Me.MutRegister & Date & ": AchterNaam: '" & Me.AchterNaam & "'" :ciao:

Maar ik heb een nieuwe uitdaging:

Ik wil als ik het veld: Achternaam bewerk en daar een achternam in wil zetten, dat gewoon in kleine letters doen en dat het systeem de eerste letter automatisch omzet in een hoofdletter. Wie weet de oplossing?

Verder wil ik dat het veld: voorletters, automatisch wordt gevuld als ik het veld: voornamen vul.

Bijv.: "voornamen": Cornelis Charles, "voorletters": C.C.

Weet iemand hoe ik dat moet doen?

Als ik zelf de oplossing vind dan zal ik natuurlijk dit hier meedelen.

Groet: Kees

aangepast door C.C.Roffelsen
Link naar reactie
Delen op andere sites

Ik wil als ik het veld: Achternaam bewerk en daar een achternam in wil zetten, dat gewoon in kleine letters doen en dat het systeem de eerste letter automatisch omzet in een hoofdletter. Wie weet de oplossing?

Dat kan door >L<?????????????? als "inputmask" te zetten op dat veld. Je moet wel zoveel ? zetten als de lengte van het veld -1. bvb het veld is 30 karakters, dan moet je 29 ? zetten.

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.