OVH Cloud OVH Cloud

Conversion Bdd Access 97 vers Access 2000 efficace ?

9 réponses
Avatar
cedico
Bonjour,

Depuis que j'ai lu tous les articles concernant le compactage de bases
de donn=E9es Access, j'ai compris comment convertir une base Access 97
vers une base Access 2000 par programmation.

Le probl=E8me que j'ai est que lorsque j'essaie d'ouvrir sous Access
2000 ma nouvelle base Access 2000 (qui vient d'=EAtre pr=E9c=E9demment
g=E9n=E9r=E9e par la conversion), j'obtiens la fenetre standard :

"Vous avez s=E9lectionn=E9 une base de donn=E9es cr=E9=E9e dans une version
ant=E9rieure d'Access... vous avez 2 choix :
- Concertir un base de donn=E9es
- Valider une base de donn=E9es"

Ma question est donc : pourquoi j'obtiens ce message puisque ma base a
=E9t=E9 correctement convertie ?
(aucun message d'erreur rencontr=E9)

De plus, j'ai v=E9rifi=E9 que la base g=E9n=E9r=E9e ne pouvait pas =EAtre
ouverte dans Access 97 puisque son format a chang=E9...


Merci de votre aide
C=E9dric

PS : j'ai m=EAme utilis=E9 le prog "JetComp" de Microsoft pour faire
cette conversion mais le r=E9sultat est similaire...

9 réponses

Avatar
David PONDA
Ecoute Cedico,
pourquoi faire cmplique quand le grec a fait facile...
converti avec Access 2000 comme il te le propose OK

"cedico" a écrit dans le message de news:

Bonjour,

Depuis que j'ai lu tous les articles concernant le compactage de bases
de données Access, j'ai compris comment convertir une base Access 97
vers une base Access 2000 par programmation.

Le problème que j'ai est que lorsque j'essaie d'ouvrir sous Access
2000 ma nouvelle base Access 2000 (qui vient d'être précédemment
générée par la conversion), j'obtiens la fenetre standard :

"Vous avez sélectionné une base de données créée dans une version
antérieure d'Access... vous avez 2 choix :
- Concertir un base de données
- Valider une base de données"

Ma question est donc : pourquoi j'obtiens ce message puisque ma base a
été correctement convertie ?
(aucun message d'erreur rencontré)

De plus, j'ai vérifié que la base générée ne pouvait pas être
ouverte dans Access 97 puisque son format a changé...


Merci de votre aide
Cédric

PS : j'ai même utilisé le prog "JetComp" de Microsoft pour faire
cette conversion mais le résultat est similaire...
Avatar
cedico
Ecoute Cedico,
pourquoi faire cmplique quand le grec a fait facile...
converti avec Access 2000 comme il te le propose OK


Merci pour ta réponse mais...euh désolé ...mais je n'ai jamais
entendu une réponse aussi bête ! :-)))

Pourquoi je m'emerderais à trouver une solution pour développer un
outil qui se charge de cette conversion, si le simple fait de convertir
ma base avec Access 2000 me suffisait ?

En fait, il va de soi que j'ai besoin de convertir ces bases sans avoir
à lancer Access et même en considérant que je n'ai pas Access 2000
installé sur ma ma machine.

Cédric

Avatar
3stone
Salut,

"cedico"
Depuis que j'ai lu tous les articles concernant le compactage de bases
de données Access, j'ai compris comment convertir une base Access 97
vers une base Access 2000 par programmation.



L'un n'a rien a voir avec l'autre, on est d'accord ?



Le problème que j'ai est que lorsque j'essaie d'ouvrir sous Access
2000 ma nouvelle base Access 2000 (qui vient d'être précédemment
générée par la conversion), j'obtiens la fenetre standard :

"Vous avez sélectionné une base de données créée dans une version
antérieure d'Access... vous avez 2 choix :
- Concertir un base de données
- Valider une base de données"

Ma question est donc : pourquoi j'obtiens ce message puisque ma base a
été correctement convertie ?
(aucun message d'erreur rencontré)

De plus, j'ai vérifié que la base générée ne pouvait pas être
ouverte dans Access 97 puisque son format a changé...


Il manque:

comment et avec quoi fais tu cette conversion ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
David PONDA
Merci Pierre, pour la defense

"3stone" a écrit dans le message de news:

Salut,

"cedico"
Depuis que j'ai lu tous les articles concernant le compactage de bases
de données Access, j'ai compris comment convertir une base Access 97
vers une base Access 2000 par programmation.



L'un n'a rien a voir avec l'autre, on est d'accord ?



Le problème que j'ai est que lorsque j'essaie d'ouvrir sous Access
2000 ma nouvelle base Access 2000 (qui vient d'être précédemment
générée par la conversion), j'obtiens la fenetre standard :

"Vous avez sélectionné une base de données créée dans une version
antérieure d'Access... vous avez 2 choix :
- Concertir un base de données
- Valider une base de données"

Ma question est donc : pourquoi j'obtiens ce message puisque ma base a
été correctement convertie ?
(aucun message d'erreur rencontré)

De plus, j'ai vérifié que la base générée ne pouvait pas être
ouverte dans Access 97 puisque son format a changé...


Il manque:

comment et avec quoi fais tu cette conversion ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/



Avatar
cedico
Bonjour,

L'un n'a rien a voir avec l'autre, on est d'accord ?


Oui, on peut dire ça.

Il manque:
comment et avec quoi fais tu cette conversion ?


Je préfère ce genre de réponse, au moins cela donne matière à
répondre à
mon tour ;-)

La conversion a été effectuée de 2 manières :

- En utilisant l'outil "JetComp.exe" disponible sur le site de
Microsoft :
http://support.microsoft.com/kb/295334/
On lui fourni une base source et une base cible ainsi que le type de
base
à générer en sortie.

- En développant à l'aide de Delphi 7 et de la librairie Jet
(JRO_TLB) l'équivalent
de ce que fait "Jetcomp.exe" : (Le code ressemble à ceci)
----
strDataSource := 'Data Source=c:base97.mdb;';
strDataDest := 'Data Source=c:base2000.mdb;Jet OLEDB:Engine
Type=5';

MyJetEngine := CoJetEngine.Create();
try
MyJetEngine.CompactDatabase(strDataSource, strDataDest);
MyJetEngine := nil;
except
on E: Exception do writeln('Error: ', E.Message);
end;
----

Quelque soit la méthode que j'utilise, j'obtiens exactement le même
résultat
que décrit au-dessus.
Alors peut-être que j'ai mal compris à quoi servait Jet ?
Peut-être que Jet ne permet par une réelle conversion d'une base
Access 97
vers Access2000... si tel est le cas, pourriez-vous m'indiquer une
autre méthode
dynamique ?

Merci
Cédric

Avatar
Pierre CFI [mvp]
bonjour
oui, mais c'est un utilitaire de compactage, pas de mise à niveau

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"cedico" a écrit dans le message de news:
Bonjour,

L'un n'a rien a voir avec l'autre, on est d'accord ?


Oui, on peut dire ça.

Il manque:
comment et avec quoi fais tu cette conversion ?


Je préfère ce genre de réponse, au moins cela donne matière à
répondre à
mon tour ;-)

La conversion a été effectuée de 2 manières :

- En utilisant l'outil "JetComp.exe" disponible sur le site de
Microsoft :
http://support.microsoft.com/kb/295334/
On lui fourni une base source et une base cible ainsi que le type de
base
à générer en sortie.

- En développant à l'aide de Delphi 7 et de la librairie Jet
(JRO_TLB) l'équivalent
de ce que fait "Jetcomp.exe" : (Le code ressemble à ceci)
----
strDataSource := 'Data Source=c:base97.mdb;';
strDataDest := 'Data Source=c:base2000.mdb;Jet OLEDB:Engine
Type=5';

MyJetEngine := CoJetEngine.Create();
try
MyJetEngine.CompactDatabase(strDataSource, strDataDest);
MyJetEngine := nil;
except
on E: Exception do writeln('Error: ', E.Message);
end;
----

Quelque soit la méthode que j'utilise, j'obtiens exactement le même
résultat
que décrit au-dessus.
Alors peut-être que j'ai mal compris à quoi servait Jet ?
Peut-être que Jet ne permet par une réelle conversion d'une base
Access 97
vers Access2000... si tel est le cas, pourriez-vous m'indiquer une
autre méthode
dynamique ?

Merci
Cédric

Avatar
cedico
bonjour
oui, mais c'est un utilitaire de compactage, pas de mise à niveau


Non d'après la doc, on peut spécifier
une base source de type Access 97 :
'Jet OLEDB:Engine Type=4;'
et une base destination de type Access 2000 :
'Jet OLEDB:Engine Type=5;'

Ce genre de manip semble plutôt courante :
http://groups.google.fr/group/microsoft.public.access.conversion/browse_thr ead/thread/669120a6655cec1d/ca7db02629f1a5ca?lnk=st&q=conversion+access +97+access+2000+jet&rnum=1&hl=fr#ca7db02629f1a5ca

et dans ce cas une réelle conversion est effectuée (à peu de chose
près semble t-il).

Cédric

Avatar
3stone
Salut,

| "cedico"
| Non d'après la doc, on peut spécifier
| une base source de type Access 97 :
| 'Jet OLEDB:Engine Type=4;'
| et une base destination de type Access 2000 :
| 'Jet OLEDB:Engine Type=5;'


Malgré que MS parle d'un utilitaire "autonome" (qui ne fait que 64 k ;-))
il est copyrighted 1997-98, donc avant Access 2000.
Il ne peut donc "contenir" le nécessaire à la conversion.
Il devrait donc, selon toute propabilité, avoir besoin de l'environnement
adéquat pour faire son boulot.
Autonome ne serait, pour MS, que synonyme de "sans installation" ;-)

La même subtilité fait parler de "créer un runtime" -
- comme on dirait : créer un exe (la bonne blague ;-(


| Ce genre de manip semble plutôt courante :
|
http://groups.google.fr/group/microsoft.public.access.conversion/browse_thread/thread/669120a6655cec1d/ca7db02629f1a5ca?|lnk=st&q=conversion+access+97+access+2000+jet&rnum=1&hl=fr#ca7db02629f1a5ca
|
| et dans ce cas une réelle conversion est effectuée (à peu de chose
| près semble t-il).


En supposant qu'il soit correct, le message semble faire la différence entre
les données (tables) et les objets (formulaires et autres...)
Jetcomp s'occuperait du compactage et réorganisation des données...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
cedico
Ok, je comprends... Merci pour vos réponses.

a+
Cédric