OVH Cloud OVH Cloud

Accès à une table dans une autre base de données ...

2 réponses
Avatar
L
Bonjour le forum !

Je tente d=E9sesp=E9r=E9ment d'ouvrir (et d'=E9crire par la suite)=20
une table dans une base de donn=E9es diff=E9rente de celle=20
actuellement active.

J'ai un message d'erreur 3021 (No current record) d=E8s que=20
je fais un movefirst.

Quelqu'un aurait-il une petite astuce pour me sortir de ce=20
mauvais pas ? (Code ci-dessous)

Merci d'avance.
Laurent

Public Sub fcnReadWrite_km()

On Error GoTo procError


Dim ws As Workspace
Dim dbs As Database
Dim rs0 As Recordset
Dim sCrit As String
Dim vCheck As Variant
Dim vRecCount As Variant

Set ws =3D DBEngine.Workspaces(0)
Set dbs =3D ws.OpenDatabase("C:\MABASE\TEST.MDB")
Set rs0 =3D dbs.OpenRecordset("tbCoord_km", dbOpenTable)
'Set rs0 =3D dbs.OpenRecordset("tbCoord_km", dbOpenDynaset)

rs0.MoveFirst

// Une erreur 3021 renvoy=E9e d=E8s que la ligne ci-dessus est=20
ex=E9cut=E9e...

2 réponses

Avatar
Raymond [mvp]
Bonjour.

dans le principe utilise ceci et ça devrait faire.
Dim App As Access.Application
Set App = New Access.Application
With App
.OpenCurrentDatabase ("C:MABASETEST.MDB")
.DoCmd.OpenTable "tbCoord_km"
.CloseCurrentDatabase
End With
Set App = Nothing

tu fais comme pour ta base en cours, mais avec app. devant et tout
nfonctionne pareil.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" a écrit dans le message de
news:0b9a01c3dc36$1ae44ca0$
Bonjour le forum !

Je tente désespérément d'ouvrir (et d'écrire par la suite)
une table dans une base de données différente de celle
actuellement active.

J'ai un message d'erreur 3021 (No current record) dès que
je fais un movefirst.

Quelqu'un aurait-il une petite astuce pour me sortir de ce
mauvais pas ? (Code ci-dessous)

Merci d'avance.
Laurent

Public Sub fcnReadWrite_km()

On Error GoTo procError


Dim ws As Workspace
Dim dbs As Database
Dim rs0 As Recordset
Dim sCrit As String
Dim vCheck As Variant
Dim vRecCount As Variant

Set ws = DBEngine.Workspaces(0)
Set dbs = ws.OpenDatabase("C:MABASETEST.MDB")
Set rs0 = dbs.OpenRecordset("tbCoord_km", dbOpenTable)
'Set rs0 = dbs.OpenRecordset("tbCoord_km", dbOpenDynaset)

rs0.MoveFirst

// Une erreur 3021 renvoyée dès que la ligne ci-dessus est
exécutée...
Avatar
Laurent
C'est super

Merci de ton aide Raymond
Bon week-end
"Raymond [mvp]" wrote in message
news:
Bonjour.

dans le principe utilise ceci et ça devrait faire.
Dim App As Access.Application
Set App = New Access.Application
With App
.OpenCurrentDatabase ("C:MABASETEST.MDB")
.DoCmd.OpenTable "tbCoord_km"
.CloseCurrentDatabase
End With
Set App = Nothing

tu fais comme pour ta base en cours, mais avec app. devant et tout
nfonctionne pareil.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" a écrit dans le message de
news:0b9a01c3dc36$1ae44ca0$
Bonjour le forum !

Je tente désespérément d'ouvrir (et d'écrire par la suite)
une table dans une base de données différente de celle
actuellement active.

J'ai un message d'erreur 3021 (No current record) dès que
je fais un movefirst.

Quelqu'un aurait-il une petite astuce pour me sortir de ce
mauvais pas ? (Code ci-dessous)

Merci d'avance.
Laurent

Public Sub fcnReadWrite_km()

On Error GoTo procError


Dim ws As Workspace
Dim dbs As Database
Dim rs0 As Recordset
Dim sCrit As String
Dim vCheck As Variant
Dim vRecCount As Variant

Set ws = DBEngine.Workspaces(0)
Set dbs = ws.OpenDatabase("C:MABASETEST.MDB")
Set rs0 = dbs.OpenRecordset("tbCoord_km", dbOpenTable)
'Set rs0 = dbs.OpenRecordset("tbCoord_km", dbOpenDynaset)

rs0.MoveFirst

// Une erreur 3021 renvoyée dès que la ligne ci-dessus est
exécutée...