ADO Update

Résolu
cs_JeffC1977
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- 24 mai 2005 à 18:46
cs_JeffC1977
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- 24 mai 2005 à 20:51
Salut...


J'ai un problème avec mon Uptadte dans mon programme


J'utilise ADO, VB6 et ACCESS.


Quand je rentre dans mon programme mon bouton uptdate fonctionne tres bien mais un fois que j'appuis sur mon bouton RECHERCHE ca plante.... Et bien il Update plus. Il ne me sort aucunne erreur sinon qu'il ne uptade pâs ma base de données



Voici mon code


Bouton RECHERCHE

Private Sub cmdRecherche_Click()


Set BD = New ADODB.Recordset


BD.Open "SELECT * FROM [GES_TEMPS] WHERE [DOSSIER] like '%" & txtRecherche.Text & "%' AND [EMPLOYER] like '%" & ListTempsEmployesRecherche.Text & "%'", Connection, adOpenKeyset, adLockBatchOptimistic


If BD.RecordCount <> 0 Then


txtTempsDossier.Text = BD!DOSSIER & ""
txtTempsTemps.Text = BD!TEMPS & ""
txtTempsDate.Text = BD!Date & ""
cboEmployes.Text = BD!EMPLOYER & ""

Else
Supression = MsgBox("Cette (Ces) donnée(s) n'existe(ent) que dans votre tête", vbOKOnly, "Non Disponible")

End If


cmdPrecedent.Enabled = False
cmdSuivant.Enabled = False



End Sub


Bouton UPDATE


Private Sub cmdUpDate_Click()
'Permet d'enregistrer dans la base de donnée l'ajout que l'on souhaite faire

BD.Update


End Sub

C'est clair que mon bug vient du bouton recherche mais je ne sais plus quoi vérifier...

Merci d'avance...

P.S. J'ai mis ce code

txtTempsDossier.Text = BD!DOSSIER & ""
txtTempsTemps.Text = BD!TEMPS & ""
txtTempsDate.Text = BD!Date & ""
cboEmployes.Text = BD!EMPLOYER & ""
dans mon bouton recherche car j'avais un bug auparavant et ce code èa solutionner mon problème.

Aidez moi...

Merci d'avance

2 réponses

crenaud76
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
28
24 mai 2005 à 18:56
Dans le code du bouton de Recherche, tu crée une nouvelle instance de
Recordset (Set BD = New ADODB.Recordset) et dans le bouton Update tu
réutilises cette nouvelle instance. A mon avis le PB vient de la.
Faudrait savoir ou tu déclares ton BD à l'origine, déjà. Et puis une
bonne habitude à prendre en POO.

Chaque fois que l'on crée une instance d'un objet dans une
procédure/fonction, on détruit celle-ci en sortant de cette
procédure/fonction (quel que soit le chemin de sortie !)

Il te faudra donc rajouter un "Set BD = Nothing" juste avant de sortir
de cmdRecherche_Click(). Comme tu n'as qu'un seul chemin de sortie pour
cette sub, juste avant le "End Sub" ca ira très bien. Et à mon avis,
avec cela, quand tu reclickera sur le bouton "Update", tu auras une
erreur 91 (objet requis) qui va apparaitre. Cela prouvera que le pb
vient de l'endroit ou est déclaré l'objet BD

Christophe R
3
cs_JeffC1977
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
24 mai 2005 à 20:51
Salut... Merci de m'avoir aidé...

J'ai fais ce que tu ma dit et effectivement j'ai le problèeme que tu m'As dit...

Mais ou je dois placer ma déclaration BD. Dans mon prog, je l'ai mis dans mon LOAD... Et ca plante.... mais je doit le mettre ou pour que ca fonctionne... Car j'utilise cette déclaration (BD) parout dans mon prog... (next, previous, update, etc...)

Je saisi bien ton message mais je ne saisi pas l'endoit oèu je doit placer ma décalaration BD..

J'attends de tes nouvelles....
0