bij invoer dubbel nummer controleren en verwijderen

Status
Niet open voor verdere reacties.

westerbork

Gebruiker
Lid geworden
30 jan 2003
Berichten
33
Hallo,

Ik gebruik een gesplits formulier in access 2007.
Wil bij de invoer van een nieuw record eerst controleren of dit al in gebruik is, zo ja dan annuleren.
echter er wordt wel een blanco record in de tabel opgeslagen.

hoe kan ik dit verhelpen.

heb in VB het volgende vemeld.

Private Sub nummer_BeforeUpdate(Cancel As Integer)
If Len(Deze.Form_klant.naam) > 0 Then
Exit Sub
End If
Dim mydb As DAO.Database

Set mydb = CurrentDb

Set mytable = mydb.OpenRecordset("klant")
Do Until mytable.EOF
If Deze.Form_klant.nummer = mytable![nummer] Then
MsgBox "dit nummer is al in gebruik door : " & mytable![naam]
Cancel = True
Exit Sub
End If

mytable.MoveNext
Loop



End Sub


Mijn dank is groot !!

Wout Tabbers
 
Met de volgende regel code kun je zorgen dat het record dat geinsert is ongedaan gemaakt wordt:
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
 
dank je wel

Met de volgende regel code kun je zorgen dat het record dat geinsert is ongedaan gemaakt wordt:
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70


Heb deze regel geplaats na de regel met msgbox "..."
Krijg foutmelding 2046 ( niet beschikbaar )

Waar moet ik deze regel plaatsen ??
 
Oops, ik had niet gezien dat je 2007 gebruikt.
Dan moet je dit statement gebruiken:

DoCmd.RunCommand acCmdUndo

Ook is het handig om even te kijken of je formulier wel dirty is:

If me.dirty then
DoCmd.RunCommand acCmdUndo
end if
 
Opgeloste Dank je Wel

Oops, ik had niet gezien dat je 2007 gebruikt.
Dan moet je dit statement gebruiken:

DoCmd.RunCommand acCmdUndo

Ook is het handig om even te kijken of je formulier wel dirty is:

If me.dirty then
DoCmd.RunCommand acCmdUndo
end if


Ik had de statements geplaats Before Update en nu verplaats Afterupdate
Tesamen met jouw oplossing werkt het perfect !!

:D:D:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan