Probleme de recordset ???

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 27 juin 2005 à 18:37
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 - 29 juin 2005 à 10:14
Salut...

Je suis avec VB? ADO et ACCESS

J'aimerais savoir pourquoi j'ai ce bug....

J'ai 11 textebox pour afficher l'info de ma BD. Quand je fais une première recherche, j'ai aucun problème tout fonctionne correctement. Toutefois si je réessais de faire une seconde rechetche il ne se passe plus rien. Mes Textbox ne se modifie plus et reste avec les information de ma première recherche.

Voici mon code

Private Sub cmdRecherche_Click()

Set BD2 = New ADODB.Recordset


BD2.Open "SELECT * FROM [dossiers_actif] WHERE [DOSSIER] like '%" & txtRechercheAvancee.Text & "%'", Connection, adOpenKeyset, adLockBatchOptimistic

BD2.Update

txtDossier.Text = BD2!DOSSIER & ""
txtTravail.Text = BD2!TRAVAIL & ""
txtLivraison.Text = BD2!livraison & ""
txtAttenteTerrain.Text = BD2!ATTENTE_TERRAIN & ""
txtAttenteTirroir.Text = BD2!ATTENTE_TIRROIR & ""
txtRecherche.Text = BD2!RECHERCHE & ""
txtDessin.Text = BD2!DESSIN & ""
txtRapport.Text = BD2!RAPPORT & ""
txtYvon.Text = BD2!YVON & ""
txtReference.Text = BD2!RÉFÉRENCE & ""
txtRemarque.Text = BD2!REMARQUE & ""


Merci d'avance

9 réponses

tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
28 juin 2005 à 09:13
BD2.close pour liberer le recordset...
ou
set BD2 = Nothing

enfin je pense...



(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire
3
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
27 juin 2005 à 23:30
Libère ton recordset..

Juste faites-le
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
28 juin 2005 à 03:15
hummm et comment je fais pour libére mon recordset ????????

merci d'avance....
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
28 juin 2005 à 09:15
Et met ca sur ton boutn enregistrer... Ca te permettra de remmettre toutes tes textbox à vide

Dim Ctl As Control
For Each Ctl In Form26.Controls
If TypeOf Ctl Is TextBox Then
Ctl.Text = ""
End If
Next Ctl



(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
28 juin 2005 à 10:01
La première réponse de TOF est la bonne. Si tu ne libère pas ton
recordset, la seconde requête que t'exécute se fait sur la précédente,
donc tu n'as aucune données

Juste faites-le
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
28 juin 2005 à 13:47
Salut vous deux....

Et bien ca fonctionne à moitié l'utilisation du CLOSE (BD2.CLOSE)

Maisntenant je peux faire trois recherche et ca fonctionne mais si je fais une quatrième recherche j'ai 8 texbox sur 11 qui ne se modifie pas... ???

Mon problème serait-il lié à mon recordset ou à un autre prob. de programation ????

J'attends de vos nouvelles... merci d'avance...
0
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
28 juin 2005 à 16:08
set BD2 = nothing devrait suffire

A chaque reconnexion je me deplace systématiquement au début BD2.moveFirst
Perso je ferais comme ça

Private Sub Jeclicke()

Dim BD2 as Recordset

Dim Base as DataBase



Set Base = OpenTable(CheminMaBase)



SQL = "SELECT * FROM MaTable WHERE Champ Like %" & ValeurCherchée

Set BD2 = Base.OpenRecordset(SQL)



BD2.moveFirst

While Not BD2.eof

TextBox1.Text = BD2!Champ

Wend

BD2 = Nothing



Base.close

Set Base = nothing



End Sub

................
Juste faites-le
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
28 juin 2005 à 18:20
Salut...

Dernière question... j'ai essayé de retranscrire ton code et j'ai un problème avec le DataBase

Dim Base as DataBase VB ne reconnais pas ce code ????

J'attends de tes nouvelles...

merci d'avance..
0
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
29 juin 2005 à 10:14
Il faut rajouter la référence "Microsoft DAO 3.51 Object library" dans ton projet

Dans Menu Projet/Références

Juste faites-le
0
Rejoignez-nous