Sytse1
Gebruiker
- Lid geworden
- 9 aug 2007
- Berichten
- 584
- Office versie
- miDer
Bij het wisselen van de Forms wil ik hetzelfde record tonen.
Bij het wijzigen van het record wordt het id opgeslagen in de tabel tblSys.
Bij het openen van een ander form wordt dan het opgeslagen record getoond.
Ergens zit in een fout in mij vba code want het werkt niet goed.
Bijgaande de code.
Wellicht ziet iemand de fout.
b.v.d. Sytse
Bij het wijzigen van het record wordt het id opgeslagen in de tabel tblSys.
Bij het openen van een ander form wordt dan het opgeslagen record getoond.
Ergens zit in een fout in mij vba code want het werkt niet goed.
Bijgaande de code.
Wellicht ziet iemand de fout.
b.v.d. Sytse
Code:
Option Compare Database
Public VarIdMw As Integer
Public Function IdVastleggen()
On Error Resume Next
'Zoek het Id van de medewerker en zet deze in de Var VarIdMw
'Zet het Id van de medewerker in de tblsys
'Deze tabel het de velden Variable(Korte tekst),IdMwNr(Korte tekst) en Omschrijving Korte tekst)
Dim frmCurrentForm As Form
Set frmCurrentForm = Screen.ActiveForm
DoCmd.GoToControl "IdMw" 'het veld met het opgeslagen IdMw
VarIdMw = frmCurrentForm!IdMw 'het Id naar de Var
Dim rs As DAO.Recordset
If Not IsNull(VarIdMw) Then
Set rs = CurrentDb().OpenRecordset("tblSys", dbOpenDynaset)
With rs
'LaatsteMedewId is opgeslagen in het veld Variable van de tabel tblSys
.FindFirst "[Variable] = 'LaatsteMedewId'"
If .NoMatch Then
.AddNew 'Zet het nieuwe nummer in de tabel tblsys
![Variable] = "LaatsteMedewId"
![IdMwNr] = VarIdMw
![Omschrijving] = "Lastste ID, van form " & "frmCurrentForm"
.Update
Else
.Edit 'bewaar id van het huidige record
![IdMwNr] = VarIdMw
.Update
End If
End With
rs.Close
End If
Set rs = Nothing
End Function
Public Function IdMwVinden()
On Error Resume Next
'Vindt de laatste medewerker id in detabel tblSys
Dim frmCurrentForm As Form
Set frmCurrentForm = Screen.ActiveForm
Dim VarId As Variant
Dim strDelim As String
VarId = DLookup("IdMwNr", "tblSys", "[Variable] = 'LaatsteMedewId'")
If IsNumeric(VarId) Then
With frmCurrentForm.RecordsetClone
'in het huidige form is het veld IdMw vindt het record
.FindFirst "[IdMw] = " & strDelim & VarId & strDelim
If Not .NoMatch Then
frmCurrentForm.Bookmark = .Bookmark
End If
End With
End If
End Function
Laatst bewerkt: