ADO Réinitialiser mes boutons

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 16 juin 2005 à 14:05
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 - 16 juin 2005 à 14:32
Salut...

Je suis en VB6 avec ADO

Je me suis créé un prog pour faire un recherche et pour ajouter des info dans ma table ACCESS.

Le prog va tres bien jusqu'à ce que je fasse une recherche.

J'ai les boutons suivants Suivant, Précédant, Update et Ajout.

Aussitôt que je fais une Recherche tout mes boutons ne fonctionnent plus.

Je n'y comprend rien....

Je vous annexe la totalité de mon code....

On dirait qu'il ne reconnais plus ma Variable BD...

Aidez moi svp...

Meric d'avance

'Déclaration des deux variables pour la connexion
Dim Connection As New ADODB.Connection
Dim BD As New ADODB.Recordset
'Dim BDTravauxenCours2005 As New ADODB.Recordset



Private Sub Form_Load()

'Set Connection = New ADODB.Connection

'Type de bases de donnée pour la connexion (Pour Acces 2000 (4.0), pour la version 95 et 97 (3.51)
Connection.Provider = "Microsoft.jet.OLEDB.4.0"
'Chemin de la base de donnée (APP.PATH permet de ce mettre dans le chemin
'courant la ou ce trouve le projet)- Paramettrage de la chaine de connection
Connection.ConnectionString = App.Path & "\LISTE_DE_JOBS.mdb"
'Ouverture de la connection
Connection.Open
'Ouverture de la requête sql dans le recordset
BD.Open "Select * from GES_TEMPS", Connection, adOpenDynamic, adLockOptimistic
'BDTravauxenCours2005.Open "Select * from TRAVAUX EN COURS 2005", Connection, adOpenDynamic, adLockOptimistic

Me.Show

txtRecherche.SetFocus

cboEmployes.AddItem "Pascal"
cboEmployes.AddItem "Cynthia"
cboEmployes.AddItem "Jeff"
cboEmployes.AddItem "John"
cboEmployes.AddItem "Daniel"
cboEmployes.AddItem "Luc"
cboEmployes.AddItem "Marc-Antoine"

End Sub


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
Private Sub Form_Activate()


'Chargement des textbox a l'activation de la Form
'Set txtTempsDossier.DataSource = BD
'txtTempsDossier.DataField = "DOSSIER"
'Set txtTempsDate.DataSource = BD
'txtTempsDate.DataField = "DATE"
'Set txtTempsTemps.DataSource = BD
'txtTempsTemps.DataField = "TEMPS"

Set cboEmployes.DataSource = BD
cboEmployes.DataField = "EMPLOYER"

txtTempsDossier.Text = ""
txtTempsTemps.Text = ""
txtTempsDate.Text = ""
cboEmployes.Text = ""

End Sub


Private Sub cmdAjout_Click()


'Permet d'aller après le dernier enregistrement qui correspond
'à la dernière ligne dans la base de donnée

Chargement


BD.AddNew


End Sub


Private Sub cmdPrecedent_Click()
'Permet d'aller a l'enregistrement précédent dans la table


Chargement


BD.MovePrevious
'S'il n'y a plus d'enregistrement aller au premier
If BD.BOF Then
BD.MoveFirst
End If
End Sub


Private Sub cmdSuivant_Click()


Chargement


'Permet d'aller a l'enregistrement suivant dans la table
BD.MoveNext
'S'il n'y a plus d'enregistrement, aller au dernier
If BD.EOF Then
BD.MoveLast
End If
End Sub


Private Sub cmdSupprimer_Click()
Supression = MsgBox("Êtes-vous certain de vouloir suprimer ce Dossier?", vbYesNo, "Attention")


If Supression = vbYes Then


'Permet de supprimer l'enregistrement en cour
BD.Delete
BD.MovePrevious
'S'il n'y a plus d'enregistrement aller au premier
If BD.BOF Then
BD.MoveFirst
End If
Else
BD.Update
End If
End Sub


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

BD.Update


'cmdPrecedent.Enabled = True
'cmdSuivant.Enabled = True



End Sub


Private Sub Chargement()


Set txtTempsDossier.DataSource = BD
txtTempsDossier.DataField = "DOSSIER"
Set txtTempsDate.DataSource = BD
txtTempsDate.DataField = "DATE"
Set txtTempsTemps.DataSource = BD
txtTempsTemps.DataField = "TEMPS"
Set cboEmployes.DataSource = BD
cboEmployes.DataField = "EMPLOYER"


End Sub

1 réponse

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
16 juin 2005 à 14:32
C'est normal puisque tu utilises le même Objet recordset BD pour l'affichage la recherche et les mise à jours



Dans la fonction Recherche Utilises un autre recordset (exemple : BD2)



@+
3
Rejoignez-nous