OctaFish
Verenigingslid
- Lid geworden
- 6 feb 2009
- Berichten
- 43.618
- Besturingssysteem
- Windows 10/MacOS
- Office versie
- Office 365
Hallo allemaal,
Ik heb een formulier in mijn db met personeelsgegevens. Op zichzelf geen bijzonder formulier, want gebaseerd op een enkele tabel. Wel wat subformulieren erop.
Met behulp van knoppen kun je heen en weer bladeren, en de onderliggende tabel wordt ook netjes bijgewerkt als je gegevens wijzigt.
Om het zoeken te vergemakkelijken, heb ik nu een combobox op het formulier gezet, met in eerste instantie de standaardcode die Access aanmaakt, dus het bekende RecordsetClone verhaal. De keuzelijst werkt prima, als je gegevens wilt bekijken; ik kan probleemloos naar andere records switchen.
Er is echter een probleem, dat je de records niet meer kunt opslaan als je gegevens wijzigt. Ik Krijg dan het bekende dialoogvenstertje, met de opties <Naar klembord kopiëren>, of <Wijzigingen negeren>.
Om het opslaan te ondervangen, heb ik een If Me.Dirty lus toegevoegd, maar dit maakt geen verschil, ik kan nog steeds niks opslaan. Volgende aanvulling op de standaardcode was het dichtgooien van de recordset, maar ook dat biedt geen soelaas.
Heeft iemand een idee/oplossing? Ik heb al gezien dat er regelmatig over de RecordsetClone is gepost, maar ik heb niks kunnen vinden over dit specifieke probleem...
Michel
Hier de gebruikte code:
Op het formulier wordt de keuzelijst nog leeggemaakt; een actie die ook op de bladerknoppen wordt uitgevoerd.
Ik heb een formulier in mijn db met personeelsgegevens. Op zichzelf geen bijzonder formulier, want gebaseerd op een enkele tabel. Wel wat subformulieren erop.
Met behulp van knoppen kun je heen en weer bladeren, en de onderliggende tabel wordt ook netjes bijgewerkt als je gegevens wijzigt.
Om het zoeken te vergemakkelijken, heb ik nu een combobox op het formulier gezet, met in eerste instantie de standaardcode die Access aanmaakt, dus het bekende RecordsetClone verhaal. De keuzelijst werkt prima, als je gegevens wilt bekijken; ik kan probleemloos naar andere records switchen.
Er is echter een probleem, dat je de records niet meer kunt opslaan als je gegevens wijzigt. Ik Krijg dan het bekende dialoogvenstertje, met de opties <Naar klembord kopiëren>, of <Wijzigingen negeren>.
Om het opslaan te ondervangen, heb ik een If Me.Dirty lus toegevoegd, maar dit maakt geen verschil, ik kan nog steeds niks opslaan. Volgende aanvulling op de standaardcode was het dichtgooien van de recordset, maar ook dat biedt geen soelaas.
Heeft iemand een idee/oplossing? Ik heb al gezien dat er regelmatig over de RecordsetClone is gepost, maar ik heb niks kunnen vinden over dit specifieke probleem...
Michel
Hier de gebruikte code:
Code:
Private Sub cboTM_AfterUpdate()
Dim rs As DAO.Recordset
If Not IsNull(Me.cboTM) Then
'Save before move.
If Me.Dirty Then
Me.Dirty = False
End If
'Search in the clone set.
Set rs = Me.RecordsetClone
rs.FindFirst "[Personeelsnummer] = '" & Me![cboTM] & "'"
If rs.NoMatch Then
MsgBox "Niks gevonden..."
Else
'Display the found record in the form.
Me.Bookmark = rs.Bookmark
End If
rs.Close
Set rs = Nothing
End If
Me.Voornaam.SetFocus
End Sub
Op het formulier wordt de keuzelijst nog leeggemaakt; een actie die ook op de bladerknoppen wordt uitgevoerd.
Code:
Private Sub Form_Current()
cboTM.Value = ""
Me.Voornaam.SetFocus
End Sub
Laatst bewerkt: