Connexion à une base de données Access

lmtw Messages postés 2 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 17 janvier 2002 - 17 janv. 2002 à 13:04
cs_fitac28 Messages postés 15 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 23 août 2005 - 29 juin 2004 à 14:46
Bonjour à tous,

Je suis un vrai débutant en Visual Basic. J'ai commencé il y a moins d'une semaine et je m'en sort pas mal :)

Je veux faire un prog pour travailler avec une base de données Access

============================
Dim DB As Database
Set DB = OpenDatabase("C:\Documents and Settings\Laurent\Bureau\Programmes\VB\Travail avec base de données access\bdd\bdd.mdb")
Dim RC As Recordset
Set RC = DB.OpenRecordset("clients", dbOpenDynaset)
RC.MoveFirst
Text1.Text = RC![nom]Text6.Text RC![pays]

Il me retourne une erreur :
User-defined type no defined . Je fais ok il me mets ensuite en sélectionné à ligne où je déclare DB ( --> DIM DB As Database )

Pourriez-vous m'aider ?

D'avance merci

@ bientôt

4 réponses

Makabey Messages postés 152 Date d'inscription mercredi 27 juin 2001 Statut Membre Dernière intervention 11 juillet 2002 1
17 janv. 2002 à 15:48
Tu as le choix entre le DAO (la synthaxe que tu utilise) et l'ADO qui est soit disant plus performant, ne connaissant que le premier je vais te dire comment règler le problème, qqun d'autre pourra te pointer sur le module nécessaire et le synthaxe de l'ADO.

Sous le menu Project->References..., tu aura un dialogue avec une liste faramineuse de choix. Sélectionne Microsoft DAO 2.5/3.5 Compatibility Library (moi j'ai aussi 3.0, 3.5 et 3.6, j'utilise 3.6)
0
lmtw Messages postés 2 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 17 janvier 2002
17 janv. 2002 à 16:00
Je te remercie BCP :) :)

Ca marche nickel. A vrai dire, j'ai coché celui que tu m'as dit, mais j'ai aussi 3.6

Sans toi, je ne pense pas que j'aurais trouvé. Ta réponse n'est pas obligatoire car le principal est que ça fonctionne, mais en fait, ça sert à quoi ce que j'ai coché ?

@ bientôt et encore merci
0
Makabey Messages postés 152 Date d'inscription mercredi 27 juin 2001 Statut Membre Dernière intervention 11 juillet 2002 1
19 janv. 2002 à 18:18
Eh bien c'est la librairie qui contient les objets pour utiliser MS-Jet (le moteur derrière MS-Access). Sans elle, VB n'as aucune idée de ce qu'est l'objet Database. C'est un peu comme demander à une équipe de construction d'ériger un bâtiment, il faut lui fournir explicitement un plan sans quoi même avec les matériaux rien ne peut être fait.

C'est une DLL en fait. Si tu ne sais pas ce que c'est, imagine un Module.Bas contenant tout plein de fonctions mais que tu ne peux pas ouvrir dans VB. C'est un peu ça. De même, quand on parle de l'API de Windows, ce n'est en fait que l'ensemble des DLLs (plus ou moins documentés, vois http://www.allapi.net) dont Windows se sert pour fonctionner.

VB permet de créer ses propres DLL, mais comme je n'en ais jamais écrites, je sais seulement qu'il faut créer un projet de ce type avant de commencer à la programmer.
0
cs_fitac28 Messages postés 15 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 23 août 2005
29 juin 2004 à 14:46
slt,

Cela tombe bien moi aussi débutant. ALors de débutant à débutant je vais te donner une autre manière très simple et pas mal du tout. Seulement elle utilise l'ADO et non pas la DAO. Comme te l'a écrit Makabey, ADO est préférable.

Tout ce qui suit tu le mets dans un form load.
Cela te permet de te connecter à une base access.

Après il nne te restera plus qu'à faire ce que tu veux avec. Si tu veux un exemple VB Maison tout simple tu m'envoies un mail (fitac28@yahoo.fr avec un objet car sinon poubelle (sécurité virus oblige)). Sinon sur MSN à jeantitilouis@hotmail.com.

'Déclaration d'une connexion et d'un recordset (table tiers sous access)

Dim ConnexionTranscout As New ADODB.Connection
Dim tiers As New Recordset

'Définition du pilote de connexion
ConnexionTranscout.Provider = "Microsoft.Jet.Oledb.4.0"

'Définition de la chaîne de connexion
ConnexionTranscout.ConnectionString = "Ton chemin d'accès jusqu'à ta base Access"

'Ouverture de la connexion à la base
ConnexionTranscout.Open

'Alimentation du recordset Tiers
tiers.Open "SELECT * FROM T01_Tiers", ConnexionTranscout, adOpenDynamic, adLockOptimistic
0
Rejoignez-nous