Ga naar inhoud

Functie maken om mutatieregister te vullen


C.C.Roffelsen

Aanbevolen berichten

Beste mensen,

Ik heb het volgende probleem:

Ik wil de wijzigingen die in een formulier worden gemaakt neerzetten in een mutatieregister.

Ik doe dat voor elk veld nu zo:

Private Sub AchterNaam_AfterUpdate()

'Zet de eerste letter om in een Hoofdletter.

Me.AchterNaam = Left(UCase(Me.AchterNaam), 1) & Right(Me.AchterNaam, Len(Me.AchterNaam) - 1)

'Zet de nieuwe waarde in het Mutatieregister.

Me.MutRegister = Me.MutRegister & " gewijzigd in: '" & Me.AchterNaam & "'" & vbCrLf & ""

End Sub

Private Sub AchterNaam_Dirty(Cancel As Integer)

If IsNull(AchterNaam) Then

Me.AchterNaam = "Leeg"

End If

Me.MutRegister = Me.MutRegister & Date & ": AchterNaam: '" & Me.AchterNaam & "'" 'Zet Datum, Veldnaam en inhoud van het veld in het Mutatieregister.

Me.MutDatum = Date 'Zet de mutatiedatum in het veld: MutDatum.

End Sub

Nu wil ik daar een functie voor maken die ik in elk formulier kan gebruiken.

Kan iemand me op weg helpen?

Alvast bedankt!

Kees Roffelsen:ciao:

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

Bedankt Stegisoft voor je reactie.

Zoals jij zegt dat ik het makkelijker kan doen werkt het vlgs mij niet zoals ik het mutatieregister wil gebruiken. Ik wil dat veld gebruiken om alle mutaties die er in het record wordt gedaan te noteren. Zoals jij zegt, nl.: Me.MutRegister = Me.AchterNaam

dan worden alle vorige mutaties overschreven met wat op dit moment de inhoud is van Achternaam. En dat is niet de bedoeling.

Met: Private Sub AchterNaam_Dirty(Cancel As Integer)

If IsNull(AchterNaam) Then

Me.AchterNaam = "Leeg"

End If

Me.MutRegister = Me.MutRegister & Date & ": AchterNaam: '" & Me.AchterNaam & "'" 'Zet Datum, Veldnaam en inhoud van het veld in het Mutatieregister.

Me.MutDatum = Date 'Zet de mutatiedatum in het veld: MutDatum.

End Sub

wordt in het eigenschapvenster; Bij gewijzigd: bovenstaande gebeurtenisprocedure uitgevoerd.

En bij; Na bijwerken:

Private Sub AchterNaam_AfterUpdate()

'Zet de eerste letter om in een Hoofdletter.

Me.AchterNaam = Left(UCase(Me.AchterNaam), 1) & Right(Me.AchterNaam, Len(Me.AchterNaam) - 1)

'Zet de nieuwe waarde in het Mutatieregister.

Me.MutRegister = Me.MutRegister & " gewijzigd in: '" & Me.AchterNaam & "'" & vbCrLf & ""

End Sub

Bijv.: Als ik de achternaam: Werkman wijzig in Werkmans komt er in het mutatieregister te staan:

8-2-2010: AchterNaam: 'Werkman' gewijzigd in: 'Werkmans'

Maar als ik daarna van dezelfde record het adres wijzig dan moet ook dat in het mutatieregister worden opgenomen onder de mutatie van de AchterNaam.

Nu is het probleem dat ik niet precies weet hoe ik dat in één functieprocedure of twee procedures moet neerzetten.

Let wel: het veld waarop de mutatie plaats vindt als ook de oude inhoud daarvan met daarachter eventueel in een volgende procedure: gewijzigd in: met de nieuwe inhoud van dat veld.

Het spijt me dat ik zo uitgebeid ben geweest maar ik hoop dat ik het probleem nu wel goed duidelijk heb gemaakt.

Het kan zijn dat ik het eenvoudiger kan doen, want zo bedreven ben ik niet hierin.

Maar zo eenvoudig als jij het voorstelt werkt het volgens mij niet.

Ik wacht op je reactie?

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

×
×
  • 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.