Connexions a une base access en VBA

Signaler
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003
-
ragnagnac
Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002
-
Bonjour a tous,

J'ai un problème lorsque je veux me connecter a la base access plus précisement a une table de ma base.
J'ai ce code la:

Private Sub Bascule0_Click()

Dim db As database
Dim rec As Recordset

Set db = CurrentDb()
Set rec = db.openrecordset("t_utilisateurs")

rec.MoveFirst
MsgBox "cfini"
End Sub

Il me ressort un message d'erreur comme koi le mot database n'est pas valable.
Pourriez vous m'aider, merci

Malcom78

7 réponses

Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002

Pour palier à ce pb, utilises directement : CurrentDb.openRecordset("t_utilisateurs")

Et n'oublies pas de faire rec.Close() à la fin de ton code ;)

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003

Merci pour ta réponse, elle a réglé le probleme de connexion a la base mais à present il me pose un autre problème à propos du pointeur:

Dim rec As Recordset
CurrentDb.OpenRecordset ("t_utilisateurs")
'Set db = CurrentDb()
Set rec = db.OpenRecordset("t_utilisateurs")

En fait lorsque je compile ya pas de blem, mais lorsque je clic sur le bouton correspondant il me sort l'erreur : erreur 424 objet requis
Dis moi si tu veux plus de précisions.

Merci
Malcom78
Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002

Je ne sais pas si c'est cela, mais tu as écris :
"
Dim rec As Recordset
CurrentDb.OpenRecordset ("t_utilisateurs")
'Set db = CurrentDb()
Set rec = db.OpenRecordset("t_utilisateurs")
"

A mon avis, cela vient de la 2ème ligne de code : "CurrentDb.OpenRecordset ("t_utilisateurs")"

En fait, tu n'as à faire que :
"
Dim rec As Recordset
Set rec = CurrentDb.OpenRecordset("t_utilisateurs")
"

J'espère que cela résoudra ton pb !

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003

Hello,
yes, ben en fait ca me donne tjrs une erreur. C'est une erreur 13: erreur d'incompatibilité sur la 2eme ligne.
Je crois qu'il faut déclarer autrement la connexion a la base access.
Est ce possible que tu me donnes un exemple de un de tes scripts en VBA ou tu te connectes a une table stp.
Puis si qqun d'autres veux me donner un exemple il est le bien venu.
Merci

Malcom78
Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002

Voici un exemple qui marche sur une de mes applis : (Tous les champs *.Value sont des Textbox)
Cet exemple est une modification des champs d'un utilisateur déjà existant dans la base (UPDATE)

-------------------------------------------
Dim req As String
Dim REC as Recordset

req = "SELECT * FROM TAB_USERS WHERE COD_USER='"& Data_Code.Value &"';"
Set REC = CurrentDb.OpenRecordset(req, dbOpenDynaset)
If (REC.RecordCount > 0) Then
REC.Edit
REC![LIB_LASTNAME] = Data_Nom.Value
REC![LIB_FIRSTNAME] = Data_prenom.Value
REC![COD_PROFIL] = Data_Profil.Value
REC.Update
End if
REC.Close
-------------------------------------------
-------------------------------------------

------- METHODE PLUS SIMPLE -------
Dim req As String

req = "UPDATE USERS SET COD_PROFIL='" & Data_Profil.Value & "' WHERE COD_USER='" & Data_Code.Value & "';"

CurrentDb.Execute req
-------------------------------------------
-------------------------------------------

;)

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003

Yes merci pour ton code, en fait j'ai trouvé l'erreur que j'avait au début. C'était un blem de bibliothèque
Il m'a suffit de déclarer la bonne biblio et sur le truc de database cétait réglé. Mais now cela me met tjrs la mê erreur sur cette ligne:
"
Set REC = CurrentDb.OpenRecordset(req, dbOpenDynaset)
"
cela met erreur d'incompatibilité erreur 13
Voila
Malcom78
Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002

Tu peux me mettre ton source complet, car cela est sensé marcher normalement !!!

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)