Poolky
Messages postés20Date d'inscriptionsamedi 25 novembre 2000StatutMembreDernière intervention 2 août 2006
-
22 févr. 2006 à 15:07
Poolky
Messages postés20Date d'inscriptionsamedi 25 novembre 2000StatutMembreDernière intervention 2 août 2006
-
22 févr. 2006 à 15:54
Bonjour à tous,
Mon problème, qui viens certaiement d'un manque de culture VB, est le suivant:
J'execute une requete Update via un recordset sur une table de ma base selon la syntaxe suivante :
Rec.Open "UPDATE Fournisseur SET Société '" & strSociete & "', Ville '" & strVille & "',Pays = '" & strPays & "', Adresse1 = '" & strAdresse1 & "',Adresse2 = '" & strAdresse2 & "', Adresse3 = '" & strAdresse3 & "',Adresse4 = '" & strAdresse4 & "', Code = '" & strCode & "',Tél1 = '" & strTel1 & "', Tél2 = '" & strTel2 & "',Fax1 = '" & strFax1 & "', Fax2 = '" & strFax2 & "',Sexe = '" & strSexe & "', Nom = '" & strNom & "',Prénom = '" & strPrenom & "', Commentaire = '" & strCommentaire & "',Email = '" & strEmail & "' WHERE Société = '" & SocieteCourante & "' ", con, adOpenDynamic, adLockOptimistic 'execution de la requete
La requete s'execute correctement ... encore que ... Je m'explique:
Quand je fais un update sur la majorité des tables, ils n'y a pas de soucis. Mais sur certaines d'entre elles il y a des caracteres qui lorsque je les inserts dans ma requete, font tout planter (a cause de ces caracteres, il interprete mes parametres comme du code SQL et ca ne lui plait pas des masses)
D'ou ma premiere question, existe-t-il une fonction qui permet de controler le contenu des variables que je passe en parametre dans ma requete? (à la maniere d'un addSlashes en php)
Mon deuxieme problème viens certainement du fait que j'ai mal configuré mon recordset, mais je ne trouve pas de solution.
Je voudrais tout simplement mettre une condition apres ma requete du type :
If rec.BOF = False Then
MsgBox "Requete NOK"
Else
MsgBox "Requete OK"
End If
Le hic c'est que je n'ai rien dans le BOF de mon Recordset
Je l'ai deja utilisé dans une autre classe mais avec une requete update, d'où ma deuxieme question ...
Mon Recordset est il correctement initialisé?
Merci par avance!
Voici le Code Complet :
Private Sub ModifierEnregistrement()
Set con = New Connection
Set Rec = New Recordset
con.Provider = "Microsoft.Jet.Oledb.4.0" 'definition du pilote de connexion
con.ConnectionString = "D:\DataBase.mdb" 'renseignement de la base à laquelle on va se connecter
con.Open 'Ouverture de la connexion
SocieteCourante = Main.GetNomSociete1
strSociete = txtSociete.Text
strAdresse1 = txtAdresse1.Text
strAdresse2 = txtAdresse2.Text
strAdresse3 = txtAdresse3.Text
strAdresse4 = txtAdresse4.Text
strCode = txtCode.Text
strVille = txtVille.Text
strPays = txtPays.Text
strCommentaire = txtDescription.Text
strNom = txtNom.Text
strPrenom = txtPrenom.Text
strTel1 = txtTel1.Text
strTel2 = txtTel2.Text
strFax1 = txtFax1.Text
strFax2 = txtFax2.Text
strEmail = txtEmail.Text
Dim i As Integer
Select Case radSexe(i)
Case i = 0
strSexe = 1
Case i = 1
strSexe = 2
Case i = 2
strSexe = 3
End Select
On Error GoTo erreur Rec.Open "UPDATE Fournisseur SET Société '" & strSociete & "', Ville '" & strVille & "',Pays = '" & strPays & "', Adresse1 = '" & strAdresse1 & "',Adresse2 = '" & strAdresse2 & "', Adresse3 = '" & strAdresse3 & "',Adresse4 = '" & strAdresse4 & "', Code = '" & strCode & "',Tél1 = '" & strTel1 & "', Tél2 = '" & strTel2 & "',Fax1 = '" & strFax1 & "', Fax2 = '" & strFax2 & "',Sexe = '" & strSexe & "', Nom = '" & strNom & "',Prénom = '" & strPrenom & "', Commentaire = '" & strCommentaire & "',Email = '" & strEmail & "' WHERE Société = '" & SocieteCourante & "' ", con, adOpenDynamic, adLockOptimistic 'execution de la requete
'If rec.BOF = False Then
' MsgBox "Requete NOK"
'Else
' MsgBox "Requete OK"
'End If
MsgBox "Requete OK"
Exit Sub
erreur:
MsgBox "Pb de requete" + Err.Description
End Sub