protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007
-
23 févr. 2006 à 09:09
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
23 févr. 2006 à 11:06
Bonjour, je suis sous vb6, j'utilise une base access
je voudrais verifier si un champs est deja present dans la table avan de l'inserer, je n'arive pas a bien utiliser la methode find malgré mes recherches sur les forums;
C'est la premiere condition de l'iteration qui ne fonctionne pas!
Comment verifier si le prod existe dja avc find
Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=H:\poly.mdb"
Set Rs = New ADODB.Recordset
Rs.ActiveConnection = Cn
Rs.Open "select * from FDS", Cn, adOpenDynamic, adLockOptimistic
do until Rs.EOF=true
if Rs.find ("LIBELLE")="' & frmfiche.text2.text & '" =true then
msgbox("Le prod existe deja")
else
Rs.AddNew
Rs.Fields("CODE_PRODUIT") = frmfiche.lblnumdoc.Caption
Rs.Fields("LIBELLE") = frmfiche.Text2.Text
Rs.Update
Rs.Close
end if
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 févr. 2006 à 09:48
Salut,
Err: Contient les informations sur les erreurs d'execution
Err.number : Renvoie ou définit une valeur numérique indiquant une erreur
Err.clear: Remet a zero Err.number
@+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
Vous n’avez pas trouvé la réponse que vous recherchez ?
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 févr. 2006 à 10:18
P...n de M...e ca a encore foire.
Je disais:
De rien le forum est la pour ca.
Si tu estime que otn probleme est resolu n'heite pas a cliquer sur reponse acceptee sur le post qui t'a aider
Bonne journee
@+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007 23 févr. 2006 à 10:34
dites moi toujours dans mon code pourquoi l'ecrasement (remplacement) n'est pas possible?qu'est ce qui cloche
Rs.Find "LIBELLE Like '" & frmfiche.Text2.Text & "'"
'Err.Number: Renvoie ou définit une valeur numérique indiquant une erreur
If Err.Number Or Rs.BOF Or Rs.EOF Then 'Contient les informations sur les erreurs d'execution
Err.Clear ' Remet a zero Err.number
Rs.AddNew
Rs.Fields("CODE_PRODUIT") = frmfiche.lblnumdoc.Caption
Rs.Fields("LIBELLE") = frmfiche.Text2.Text
Rs.Fields("INDICE") = frmfiche.Text1.Text
'Ajout de ton nouveau Champ
Else
MsgBox ("La fiche " & frmfiche.Text2.Text & " existe deja")
rep = MsgBox("Voulez-vous le remplacer", vbYesNoCancel + vbInformation)
If rep = vbYes Then
Rs.AddNew
Rs.Fields("CODE_PRODUIT") = frmfiche.lblnumdoc.Caption
Rs.Fields("LIBELLE") = frmfiche.Text2.Text
Rs.Fields("INDICE") = frmfiche.Text1.Text
protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007 23 févr. 2006 à 10:44
alors, le code me genere une erreur kan je tente d'enregistrer au niveau du Rs.update, il m'indique risque de doublon, modif non effectue...
kan je l'enleve il n'y a pa d'erreur mai l'ajout n'est pa effectuer!
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 févr. 2006 à 10:55
Re,
Lors de l'ecrasement. c est normal car tu utilise la methode .AddNEw qui ne remplace pas mais.. Ajoute. donc ton code tel qu il est a present Ajoute meme si il a trouve qqch.
Il faudrait plutot essayer de retirer le rs.addNew apres le If rep = VbYes
@+, Julien Pensez: Moteur de Recherche, Réponse Acceptée