Vanuit mijn doorlopend formulier debiteur overzicht kan ik de debiteurenkaart bekijken van de geselecteerde klant (via een knop)
of een nieuwe debiteur aanmaken door op de knop nieuwe debiteur te klikken.
De onderstaande code gebruik op het doorlopend formulier
En deze code op de debiteurkaart
Naar mijn idee is dit erg omslachtig.
Welke instellingen en code gebruik je om 1 formulier te gebruiken voor het bekijken en invoeren van gegevens?
of een nieuwe debiteur aanmaken door op de knop nieuwe debiteur te klikken.
De onderstaande code gebruik op het doorlopend formulier
Code:
Private Sub cmdOpen_Click()
Dim stOpenArgs As String
''Geef als openArgs B; en het huidige record (=Klantnr) mee. B staat voor bestaande debiteur.
stOpenArgs = "B;" & Me.txtKlantnr
''Open de debiteuren kaart en sluit het huidige formulier
DoCmd.OpenForm "frmDebiteurKaart", acNormal, , , , acWindowNormal, stOpenArgs
DoCmd.Close acForm, Me.Form.Name
End Sub
Private Sub cmdNieuwedebiteur_Click()
Dim stOpenArgs As String
''Nieuwe debiteur aanmaken en geef als openArg N; mee. N staat voor nieuw.
stOpenArgs = "N;"
''Open de debiteuren kaart en sluit het huidige formulier
DoCmd.OpenForm "frmDebiteurKaart", acNormal, , , , acWindowNormal, stOpenArgs
DoCmd.Close acForm, Me.Form.Name
End Sub
En deze code op de debiteurkaart
Code:
Private Sub Form_Open(Cancel As Integer)
Dim Args As Variant
''De OpenArg splitsen om zo te kunnen bepalen of het een Bestaande (B) of een nieuwe(N) debiteur is
Args = Split(Me.OpenArgs, ";")
''Bij een bestaande debiteur moet het klantnr geplaatst worden
''Er kunnen geen nieuwe records toegevoegd worden
If Not IsNull(Me.OpenArgs) Then
If Args(0) = "B" Then
Me.DataEntry = False
Me.AllowAdditions = False
With Me.RecordsetClone
.FindFirst "Klantnr=" & Args(1)
Me.Bookmark = .Bookmark
End With
''Als het een nieuwe debiteur betreft dan moet de toevoegingen toestaan aan staan
''Nieuwe klantnr plaatsen in het txtveld Klantnr.
ElseIf Args(0) = "N" Then
Me.DataEntry = True
Me.AllowAdditions = True
Me.txtKlantnr = Nz(DMax("Klantnr", "tblDebiteur") + 1)
End If
End If
Me.txtNaam.SetFocus
End Sub
Naar mijn idee is dit erg omslachtig.
Welke instellingen en code gebruik je om 1 formulier te gebruiken voor het bekijken en invoeren van gegevens?