Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
989 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  j'arrive pas a faire une liaison en VBA entre excel et une base access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

j'arrive pas a faire une liaison en VBA entre excel et une base access

n°1407530
angel92
Posté le 16-07-2006 à 13:58:26  profilanswer
 

bonjour !
 
j'essaye de récuperer des enregistrements dans une base access a partir d'une macro en VBA sous excel.
Le probleme et que des le lancement de la macro, j'ai eu erreur a qui me dit que le type Database n'est pas reconnu !
 
voici mon code
 

Code :
  1. Sub IntBDD()
  2. Dim DBA As Database
  3. Dim Enreg As Recordset
  4. Dim Ligne As Long
  5. 'Ouverture de la base de données "Depart75.mdb"
  6. Set DBA = OpenDatabase("c:\personnes.mdb" )
  7. 'Ouverture des enregistrements de la table "Depart75"
  8. Set Enreg = DBA.OpenRecordset("SELECT * FROM personnes ORDER BY nom ASC" )
  9. Ligne = 2
  10. Worksheets("Feuil1" ).Select
  11. 'Premier enregistrement de la table "Depart75"
  12. Enreg.MoveFirst
  13. 'On parcours la base
  14. While Enreg.EOF = False
  15.     ' Place le contenu du champ "Lieux" dans la 1ère colonne de la feuille EXCEL
  16.     Cells(Ligne, 1) = Enreg!ID
  17.     Cells(Ligne, 2) = Enreg!nom
  18.     Cells(Ligne, 3) = Enreg!prenom
  19.     Cells(Ligne, 4) = Enreg!age
  20.    
  21.     ' Ligne suivante
  22.     Ligne = Ligne + 1
  23.     ' Enregistrement suivante
  24.     Enreg.MoveNext
  25. Loop
  26. End Sub


 
 
Est ce que vous pourriez me dire d'ou est ce que ca vient ?
Merci d'avance !

mood
Publicité
Posté le 16-07-2006 à 13:58:26  profilanswer
 

n°1407556
kiki29
Posté le 16-07-2006 à 14:48:25  profilanswer
 
n°1408241
Khaostyke
Posté le 17-07-2006 à 22:28:41  profilanswer
 

Peut-être que ces quelques lignes pourront t'aider
 

Code :
  1. Dim db As New ADODB.Connection
  2. Dim RST As New ADODB.Recordset
  3. Dim strCheminBD as String, strSQL as String
  4. strCheminBD = "C:/taBD.mdb"
  5. strSQL = "SELECT * FROM taTable"
  6. db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" & strCheminBD & ";"
  7. RST.Open strSQL, db, adOpenStatic, adLockOptimistic
  8. Do While Not RST.EOF
  9. ...
  10. RST.MoveNext
  11. Loop
  12. db.Close


 
Tu ne codes pas sous Access, mais sous Excel! C'est différent. Le plus important est sans aucun doute la string de connexion (celle qui commence par « PROVIDER »)
 
N'oublie pas aussi de mettre un « On Error » pour gérer les possibles erreurs de connexion etc etc.


Message édité par Khaostyke le 17-07-2006 à 22:39:05

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  j'arrive pas a faire une liaison en VBA entre excel et une base access

 

Sujets relatifs
[VBA] RESOLU Extraction d'une chaine de caractèresProgrammation Excel
connexion à une base de données SQL server via ado.net[ACCESS] lancer l'aperçu avant impression par VB
[Excel/Access] Comment choisir la feuille excel qu'on veut importerCréation d'une base, relation entre les tables
Mettre un champ à jour sous Access ?Prblm de connexion avec PHP via EasyPhP sur base SQLServ 2000
Prblm connexion php via EasyPhp sur base MSSQLSERVEUR2000 
Plus de sujets relatifs à : j'arrive pas a faire une liaison en VBA entre excel et une base access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR