OVH Cloud OVH Cloud

VBA ouverture Access

8 réponses
Avatar
DelphineR
Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un code VBA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide

8 réponses

Avatar
anonymousA
Bonjour,

liaison courte=> établir une référence à Microsft Access dans
Outils/Références de VBE puis écrire

Set appaccess = New Access.Application
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

liaison longue=> pas nécéssaire d'établir une référence à
Microsoft Access dans Outils/Références de VBE, puis écrire

Set appaccess = CreateObject("Access.Application.9")
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

A+

DelphineR wrote:
Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un code V BA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide


Avatar
JB
Bonsoir,

http://www.excelabo.net/compteclic.php?nom=jb-excelaccess

Sub LitAccess()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("Select * From Client Order By
Nom_Client")
i = 2
Do While Not rs.EOF
Cells(i, 1) = rs!nom_client
Cells(i, 2) = rs!ville
Cells(i, 3) = rs!salaire
rs.MoveNext
i = i + 1
Loop
End Sub

Ajout:
La table access Client contient:
-Un champ nom_client
-Un champ ville
-Un champ Salaire

La base Access.mdb doit exister et être dans le même répertoire

Private Sub b_ok_Click()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim dt As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("client")
If Me.nom_client = "" Then
MsgBox "Saisir un nom!"
Me.nom_client.SetFocus
Exit Sub
End If
rs.AddNew
rs!nom_client = Me.nom_client
rs!ville = Me.ville
rs!salaire = CDbl(Me.salaire)
rs.Update
rs.Close
bd.Close
Me.nom_client = Null
Me.ville = Null
Me.salaire = Null
Me.nom_client.SetFocus
End Sub

Lecture Access ADO

Sub LectureAccess()
'Microsoft ActivexDataObject 2.8 Library
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ¬cess2000.mdb"
Set rs = cnn.Execute("SELECT * FROM Client ORDER BY nom_client")
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub



JB



Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un code V BA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide


Avatar
DelphineR
Bonjour,

Merci pour ce fichier qui me sera certainement bien utilie pour la suite.
Cependant, je n'arrive toujours pas à simplement ouvrir Access
Message d'erreur : "type d"fini par l'utilisateur non défini" dès le début :
"Dim bd As Database"
Merci de m'aider


Bonsoir,

http://www.excelabo.net/compteclic.php?nom=jb-excelaccess

Sub LitAccess()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("Select * From Client Order By
Nom_Client")
i = 2
Do While Not rs.EOF
Cells(i, 1) = rs!nom_client
Cells(i, 2) = rs!ville
Cells(i, 3) = rs!salaire
rs.MoveNext
i = i + 1
Loop
End Sub

Ajout:
La table access Client contient:
-Un champ nom_client
-Un champ ville
-Un champ Salaire

La base Access.mdb doit exister et être dans le même répertoire

Private Sub b_ok_Click()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim dt As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("client")
If Me.nom_client = "" Then
MsgBox "Saisir un nom!"
Me.nom_client.SetFocus
Exit Sub
End If
rs.AddNew
rs!nom_client = Me.nom_client
rs!ville = Me.ville
rs!salaire = CDbl(Me.salaire)
rs.Update
rs.Close
bd.Close
Me.nom_client = Null
Me.ville = Null
Me.salaire = Null
Me.nom_client.SetFocus
End Sub

Lecture Access ADO

Sub LectureAccess()
'Microsoft ActivexDataObject 2.8 Library
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ¬cess2000.mdb"
Set rs = cnn.Execute("SELECT * FROM Client ORDER BY nom_client")
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub



JB



Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un code VBA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide






Avatar
DelphineR
Bonjour,
Merci pour ton aide mais je n'y arrive pas !
pour la liaison longue à quoi sert le .9. il se passe qualque chose en
arrière plan mais la base Access ne s'ouvre pas ???


Bonjour,

liaison courte=> établir une référence à Microsft Access dans
Outils/Références de VBE puis écrire

Set appaccess = New Access.Application
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

liaison longue=> pas nécéssaire d'établir une référence à
Microsoft Access dans Outils/Références de VBE, puis écrire

Set appaccess = CreateObject("Access.Application.9")
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

A+

DelphineR wrote:
Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un code VBA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide






Avatar
JB
Il faut cocher Microsoft DAO 3.6 dans Outils/Références(DAO)

ou

'Microsoft ActivexDataObject 2.8 Library (ADO


JB

Bonjour,

Merci pour ce fichier qui me sera certainement bien utilie pour la suite.
Cependant, je n'arrive toujours pas à simplement ouvrir Access
Message d'erreur : "type d"fini par l'utilisateur non défini" dès le début :
"Dim bd As Database"
Merci de m'aider


Bonsoir,

http://www.excelabo.net/compteclic.php?nom=jb-excelaccess

Sub LitAccess()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("Select * From Client Order By
Nom_Client")
i = 2
Do While Not rs.EOF
Cells(i, 1) = rs!nom_client
Cells(i, 2) = rs!ville
Cells(i, 3) = rs!salaire
rs.MoveNext
i = i + 1
Loop
End Sub

Ajout:
La table access Client contient:
-Un champ nom_client
-Un champ ville
-Un champ Salaire

La base Access.mdb doit exister et être dans le même répertoire

Private Sub b_ok_Click()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim dt As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("client")
If Me.nom_client = "" Then
MsgBox "Saisir un nom!"
Me.nom_client.SetFocus
Exit Sub
End If
rs.AddNew
rs!nom_client = Me.nom_client
rs!ville = Me.ville
rs!salaire = CDbl(Me.salaire)
rs.Update
rs.Close
bd.Close
Me.nom_client = Null
Me.ville = Null
Me.salaire = Null
Me.nom_client.SetFocus
End Sub

Lecture Access ADO

Sub LectureAccess()
'Microsoft ActivexDataObject 2.8 Library
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ¬cess2000.mdb"
Set rs = cnn.Execute("SELECT * FROM Client ORDER BY nom_client")
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub



JB



Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un co de VBA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide








Avatar
anonymousA
9 correspond au N° de version d'ACCESS , en l'occurence ACCESS 2000.
Si tu as une version différente, il faut adapter le N°.

DelphineR wrote:
Bonjour,
Merci pour ton aide mais je n'y arrive pas !
pour la liaison longue à quoi sert le .9. il se passe qualque chose en
arrière plan mais la base Access ne s'ouvre pas ???


Bonjour,

liaison courte=> établir une référence à Microsft Access dans
Outils/Références de VBE puis écrire

Set appaccess = New Access.Application
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

liaison longue=> pas nécéssaire d'établir une référence à
Microsoft Access dans Outils/Références de VBE, puis écrire

Set appaccess = CreateObject("Access.Application.9")
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

A+

DelphineR wrote:
Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un co de VBA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide








Avatar
DelphineR
Et comment connaitre le n° de version ?
Je suis en version 2003, j'ai mis 11 (mais comme j'ai la version 2007beta
d'installé, cette version 2007 s'ouvre puis se ferme automatiquement) Bizarre
?


9 correspond au N° de version d'ACCESS , en l'occurence ACCESS 2000.
Si tu as une version différente, il faut adapter le N°.

DelphineR wrote:
Bonjour,
Merci pour ton aide mais je n'y arrive pas !
pour la liaison longue à quoi sert le .9. il se passe qualque chose en
arrière plan mais la base Access ne s'ouvre pas ???


Bonjour,

liaison courte=> établir une référence à Microsft Access dans
Outils/Références de VBE puis écrire

Set appaccess = New Access.Application
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

liaison longue=> pas nécéssaire d'établir une référence à
Microsoft Access dans Outils/Références de VBE, puis écrire

Set appaccess = CreateObject("Access.Application.9")
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

A+

DelphineR wrote:
Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'un code VBA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide












Avatar
anonymousA
2007 beta, aucune idée. qui + est, comme c'est du beta, comment savoir
ce qui relève du bug ou d'autre chose ? Perso, je desinstallerais le
beta et je verrai ce que ca donne.


DelphineR wrote:
Et comment connaitre le n° de version ?
Je suis en version 2003, j'ai mis 11 (mais comme j'ai la version 2007beta
d'installé, cette version 2007 s'ouvre puis se ferme automatiquement) B izarre
?


9 correspond au N° de version d'ACCESS , en l'occurence ACCESS 2000.
Si tu as une version différente, il faut adapter le N°.

DelphineR wrote:
Bonjour,
Merci pour ton aide mais je n'y arrive pas !
pour la liaison longue à quoi sert le .9. il se passe qualque chose en
arrière plan mais la base Access ne s'ouvre pas ???


Bonjour,

liaison courte=> établir une référence à Microsft Access dans
Outils/Références de VBE puis écrire

Set appaccess = New Access.Application
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

liaison longue=> pas nécéssaire d'établir une référence à
Microsoft Access dans Outils/Références de VBE, puis écrire

Set appaccess = CreateObject("Access.Application.9")
appaccess.OpenCurrentDatabase "nom complet de ta base de données"
Set bds = appaccess.CurrentDb

A+

DelphineR wrote:
Bonjour,

je cherche à ouvrir un fichier Access par l'intermédiaire d'u n code VBA Excel

c'est tout simple mais je ne sais plus comment faire

Merci pour votre aide