OVH Cloud OVH Cloud

Lecture de 2 bases ???

5 réponses
Avatar
René
Je voudrais savoir si c'est possible de lire une table=20
dans une base
Access2000 et la r=E9=E9crire dans une autre table sous=20
Access97 ?
D'avance merci
Ren=E9

5 réponses

Avatar
Raymond [mvp]
Bonjour.

c'est possible si tu es en access 2000 & +
à partir de 97 tu ne peux pas lire une base 2000 & +
dans quel as de configuration te trouves-tu ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"René" a écrit dans le message de
news:04a601c3ac39$4c28c700$
Je voudrais savoir si c'est possible de lire une table
dans une base
Access2000 et la réécrire dans une autre table sous
Access97 ?
D'avance merci
René
Avatar
rg
je suis sous Access97 ,
Je viens de faire un essai pour lire ma base Access2000
en VBA , cela fonctionne
Voici le listing
----------------------------
Sub testLectureBaseAC2000
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin", Password:="maint"

rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly

While Not rs.EOF
Debug.Print rs.Fields("EQNUM").Value & " ";
rs.Fields("Description").Value
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End sub


----------------------------------------------------------------
mais je n'arrive pas à tranferer les data dans ma base Access 97
avec le listing suivant :

Sub testTransfertTable
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb() ' la base access actuel sous AC97
Set rst = db.OpenRecordset("tbl EQUIP")
'Ouvre la base à lire
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin", Password:="maint"
'lecture table EQUIP
rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly
'lecture et enregistrement des recordsets
While Not rs.EOF
rst.AddNew
rs.MoveFirst
Nuequip = rs.Fields("EQNUM").Value
rst(EQNUM) = Nuequip

Descrip = rs.Fields("Description").Value
rst(DESCRIPTION) = Descrip
rs.MoveNext
rst.Update

Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing

rst.Close
Set rst = Nothing
db.Close
Set db = Nothing
End Sub

Si vous avez une solution ! MERCI MERCI

rené


"Raymond [mvp]" a écrit dans le message news:

Bonjour.

c'est possible si tu es en access 2000 & +
à partir de 97 tu ne peux pas lire une base 2000 & +
dans quel as de configuration te trouves-tu ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"René" a écrit dans le message de
news:04a601c3ac39$4c28c700$
Je voudrais savoir si c'est possible de lire une table
dans une base
Access2000 et la réécrire dans une autre table sous
Access97 ?
D'avance merci
René




Avatar
Raymond [mvp]
sous 2000 tu n'as pas besoin de passer par vba.

Attaches ta table 97 par le menu fichier / données externes / lier les
tables

fais une requête ajout de la table 2000 vers la table 97.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"rg" a écrit dans le message de
news:3fb774a4$0$13295$
je suis sous Access97 ,
Je viens de faire un essai pour lire ma base Access2000
en VBA , cela fonctionne
Voici le listing
----------------------------
Sub testLectureBaseAC2000
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin",
Password:="maint"


rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly

While Not rs.EOF
Debug.Print rs.Fields("EQNUM").Value & " ";
rs.Fields("Description").Value
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End sub


----------------------------------------------------------------
mais je n'arrive pas à tranferer les data dans ma base Access 97
avec le listing suivant :

Sub testTransfertTable
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb() ' la base access actuel sous AC97
Set rst = db.OpenRecordset("tbl EQUIP")
'Ouvre la base à lire
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin",
Password:="maint"

'lecture table EQUIP
rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly
'lecture et enregistrement des recordsets
While Not rs.EOF
rst.AddNew
rs.MoveFirst
Nuequip = rs.Fields("EQNUM").Value
rst(EQNUM) = Nuequip

Descrip = rs.Fields("Description").Value
rst(DESCRIPTION) = Descrip
rs.MoveNext
rst.Update

Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing

rst.Close
Set rst = Nothing
db.Close
Set db = Nothing
End Sub

Si vous avez une solution ! MERCI MERCI

rené


"Raymond [mvp]" a écrit dans le message news:

Bonjour.

c'est possible si tu es en access 2000 & +
à partir de 97 tu ne peux pas lire une base 2000 & +
dans quel as de configuration te trouves-tu ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"René" a écrit dans le message de
news:04a601c3ac39$4c28c700$
Je voudrais savoir si c'est possible de lire une table
dans une base
Access2000 et la réécrire dans une autre table sous
Access97 ?
D'avance merci
René








Avatar
rg
C'est encore moi

C'est bon j'ai réussi à lire une table d'une base Access2000
pour la transferer vers une base Access97
(j'utilise la passerelle ODBC ) pour DSN=MP2
dans mon précedent listing , il y a une erreur ,
Voici le listing qui fonctionne
-----------------------------
cette fonction est lancer à chaque démarrage avec une macro autoexec


Public Function TransfertTableEquip()

Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb()
Set rst = db.OpenRecordset("tbl EQUIP")
'Ouvre la base à lire Access2000
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin", Password:="maint"
'lecture table EQUIP
rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly

' Delete les data de la table "tbl EQUIP" ' base Access97
'rst.MoveFirst
While Not rst.EOF
rst.Delete
rst.MoveNext
Wend

'lecture et enregistrement des recordsets
rs.MoveFirst
While Not rs.EOF
rst.AddNew
rst![EQNUM] = rs.Fields("EQNUM").Value
rst![EQTYPE] = rs.Fields("EQTYPE").Value
rst![DESCRIPTION] = rs.Fields("DESCRIPTION").Value
rst!SERIALNUM = rs.Fields("SERIALNUM").Value
rst!MODELNUM = rs.Fields("MODELNUM").Value
rst!MANUFACTURER = rs.Fields("MANUFACTURER").Value
rst!UD1 = rs.Fields("UD1").Value
rst!STARTUPDATE = rs.Fields("STARTUPDATE").Value
rs.MoveNext
rst.Update
Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
rst.Close
Set rst = Nothing
db.Close
Set db = Nothing
End Function








"rg" a écrit dans le message news:
3fb774a4$0$13295$
je suis sous Access97 ,
Je viens de faire un essai pour lire ma base Access2000
en VBA , cela fonctionne
Voici le listing
----------------------------
Sub testLectureBaseAC2000
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin",
Password:="maint"


rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly

While Not rs.EOF
Debug.Print rs.Fields("EQNUM").Value & " ";
rs.Fields("Description").Value
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End sub


----------------------------------------------------------------
mais je n'arrive pas à tranferer les data dans ma base Access 97
avec le listing suivant :

Sub testTransfertTable
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb() ' la base access actuel sous AC97
Set rst = db.OpenRecordset("tbl EQUIP")
'Ouvre la base à lire
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin",
Password:="maint"

'lecture table EQUIP
rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly
'lecture et enregistrement des recordsets
While Not rs.EOF
rst.AddNew
rs.MoveFirst
Nuequip = rs.Fields("EQNUM").Value
rst(EQNUM) = Nuequip

Descrip = rs.Fields("Description").Value
rst(DESCRIPTION) = Descrip
rs.MoveNext
rst.Update

Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing

rst.Close
Set rst = Nothing
db.Close
Set db = Nothing
End Sub

Si vous avez une solution ! MERCI MERCI

rené


"Raymond [mvp]" a écrit dans le message news:

Bonjour.

c'est possible si tu es en access 2000 & +
à partir de 97 tu ne peux pas lire une base 2000 & +
dans quel as de configuration te trouves-tu ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"René" a écrit dans le message de
news:04a601c3ac39$4c28c700$
Je voudrais savoir si c'est possible de lire une table
dans une base
Access2000 et la réécrire dans une autre table sous
Access97 ?
D'avance merci
René








Avatar
rg
impossible , car les pc sur lesquelles je dois installer mon appli
possédent access97

rené



"Raymond [mvp]" a écrit dans le message news:

sous 2000 tu n'as pas besoin de passer par vba.

Attaches ta table 97 par le menu fichier / données externes / lier les
tables

fais une requête ajout de la table 2000 vers la table 97.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"rg" a écrit dans le message de
news:3fb774a4$0$13295$
je suis sous Access97 ,
Je viens de faire un essai pour lire ma base Access2000
en VBA , cela fonctionne
Voici le listing
----------------------------
Sub testLectureBaseAC2000
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin",
Password:="maint"


rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly

While Not rs.EOF
Debug.Print rs.Fields("EQNUM").Value & " ";
rs.Fields("Description").Value
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End sub


----------------------------------------------------------------
mais je n'arrive pas à tranferer les data dans ma base Access 97
avec le listing suivant :

Sub testTransfertTable
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb() ' la base access actuel sous AC97
Set rst = db.OpenRecordset("tbl EQUIP")
'Ouvre la base à lire
cnn.Open "PROVIDER=MSDASQL.1;DSN=MP2", UserId:="Admin",
Password:="maint"

'lecture table EQUIP
rs.Open "Select * From [EQUIP]", cnn, adOpenDynamic, adLockReadOnly
'lecture et enregistrement des recordsets
While Not rs.EOF
rst.AddNew
rs.MoveFirst
Nuequip = rs.Fields("EQNUM").Value
rst(EQNUM) = Nuequip

Descrip = rs.Fields("Description").Value
rst(DESCRIPTION) = Descrip
rs.MoveNext
rst.Update

Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing

rst.Close
Set rst = Nothing
db.Close
Set db = Nothing
End Sub

Si vous avez une solution ! MERCI MERCI

rené


"Raymond [mvp]" a écrit dans le message
news:



Bonjour.

c'est possible si tu es en access 2000 & +
à partir de 97 tu ne peux pas lire une base 2000 & +
dans quel as de configuration te trouves-tu ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"René" a écrit dans le message
de



news:04a601c3ac39$4c28c700$
Je voudrais savoir si c'est possible de lire une table
dans une base
Access2000 et la réécrire dans une autre table sous
Access97 ?
D'avance merci
René