probleme de numerotation des données dans une table
Bonjour à tous!
j'ai crée une table en access ainsi :
Code:
1 2 3
| NR NumeroAuto indexé sans doublons
IDCONTACT Numerique indexé avec doublons
NOMCONTACT Texte |
Je voudrais que chaque enregistrement ait un IDCONTACT lors de l'encodage dans la base de données.
Dans la partie programmation, je voudrais que le programme me donne toujours IDCONTACT+1 lors de l'encodage d'un NOMCONTACT et si je mets un IDCONTACT deja existant , il m'envoie un message d'erreur disant que ce numero existe deja dans la table .
Dans l'evenement OnShow de ma feuille , j'ai mis ce code
Code:
1 2 3 4 5 6
| procedure TContactForm.FormShow(Sender: TObject);
var nIDContact:variant;
begin
DM.tbContact.Last;
nIDContact:=DM.tbContactIDCONTACT.Value + 1;
Edit_Numero.Text:=IntToStr(nIDContact); |
ceci afin qu'il se donne toujours l'IDCONTACT+1 lorsque je veux encoder un nouveau NOMCONTACT.
et dans l'evenement OnExit du l'Edit_Numero ce code ici:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| procedure TContactForm.Edit_Numero(Sender: TObject);
var resultat, nIDContact:variant;
begin
resultat:=DM.tbContact.Locate('IDCONTACT',StrToInt(Edit_Numero),[]);
if resultat then
begin
MessageDlg(' Ce numéro existe déjà !!! ',
mtInformation,[mbOk],0);
DM.tbContact.Last;
nIDContact:=DM.tbContactIDCONTACT.Value + 1;
Edit_Numero.Text:=IntToStr(nIDContact);
Edit1.SetFocus;
exit; |
mais lorsque je suis sur cette feuille , il me donne bien l'IDCONTACT+1 ,et lorsque j'encode , il n'a pas encoder le numero dans la table, il n'a pris que le NOMCONTACT.
je ne trouve pas l'erreur;
merci pour votre aide à tous!