cs_Heny
Messages postés125Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention19 avril 2007
-
2 juil. 2004 à 15:55
cs_Heny
Messages postés125Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention19 avril 2007
-
3 juil. 2004 à 15:48
Salut a tous
Je réalise une application pour faire des enregistrements dans une base de donnée ACCESS
et j’utilise ce code
With Adodc.Recordset
.AddNew
!Catégorie = UCase(Text1(0).Text)
!Référence = UCase(Text1(1).Text)
!Désignation = UCase(Text1(2).Text)
![Prix de l'unité] = UCase(Text1(3).Text)
.Update
End with
Ce que je voudrai ajouter, c’est un code qui me permet en cas ou la Référence existe déjà dans la base un message apparaît pour m’avertir (J’utilise un DATAGRID pour afficher le contenue de la base )
MERCI DE ME REPONDRE
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 2 juil. 2004 à 16:22
Cela se fait de façon automatique, je m'explique:
si dans ta table la référence doit être unique et sans doublons, il faut le paramètrer directement au niveau du champ référence de ta table, comme cela lors de l'update si il existe un doublon accès te retourne une erreure que tu peux exploiter ensuite pour envoyer un message à l'utilisateur.
Il faudrais modifier ton code de la sorte
on error goto Errorhandler 'détecte si une erreur se produit
With Adodc.Recordset
.AddNew
!Catégorie = UCase(Text1(0).Text)
!Référence = UCase(Text1(1).Text)
!Désignation = UCase(Text1(2).Text)
![Prix de l'unité] = UCase(Text1(3).Text)
.Update
End with
End Sub
Errorhandler:
Select Case Err.Number
Case -2147467259 'doublons détecté ou manque un champ obligatoire
Msg = "Risque de doublon détecté ou" _
& vbCrLf & "un champ de saisie obligatoire" _
& vbCrLf & "n'est pas valider"
Case Else
Msg = "Une erreur est survenue" _
& vbCrLf & Err.Description _
& vbCrLf & "la procédure ne peut continuer"
End Select
End Sub
Une deuxième solution c'est de faire une recherche sur ton champ référence avec le contenu de ton textbox (avant de faire ta procédure d'update) et vérifié si ton recordset contient un enregistrement Adodc.recordset.Recordcount si c'est le cas il existe déjà un enregistrement !
Pascal Laurençon
Mieux vaut un petit clic que deux grandes claques..
Mieux vaut un naze bin qu'un naze tout court..
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 2 juil. 2004 à 16:47
c pour cela que jui demande si Reference est clef primaire
L'erreur de risque de doublons que j'ai dans mais appli est : 3022
on error goto Errorhandler
With Adodc.Recordset
.AddNew
!Catégorie = UCase(Text1(0).Text)
!Référence = UCase(Text1(1).Text)
!Désignation = UCase(Text1(2).Text)
![Prix de l'unité] = UCase(Text1(3).Text)
.Update
End with
End Sub
Errorhandler:
Select Case Err.Number
Case 3022 'doublons détecté ou manque un champ obligatoire
Msg = "Risque de doublon détecté ou" _
& vbCrLf & "un champ de saisie obligatoire" _
& vbCrLf & "n'est pas valider"
Case Else
Msg = "Une erreur est survenue" _
& vbCrLf & Err.Description _
& vbCrLf & "la procédure ne peut continuer"
End Select
cs_Heny
Messages postés125Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention19 avril 2007 3 juil. 2004 à 15:48
Salut
non la Référence n'est pas une cle primere mais je l'utilise pour pour identifir des produits afin que l'utilisateur ne rajoute pas la meme reference pour deux produits
Merci pour votre reponse et merci pour repondre :big)