OVH Cloud OVH Cloud

ajouter une condition dans mon code

21 réponses
Avatar
fth
Bonjour,
ci-dessous le code que j'utilise pour migrer des appli de 97 à 2003, creer
les repertoires etc..
j'ai de temps en temps une erreur parce que le rep n'est pas accessible ou
parce qu'une appli demande un mot de passe;
Je cherche donc à mettre qq conditions:
si le rep n'existe pas, passer au suivant;
Si la db demande un mot de passe, passer à la suivante;

l'objectif est de miger tout ce qui peut l'être et de faire du cas par cas
pour les autres.
restera juste à implementer qq chose pour savoir lesquelles;
j'ai deja un champ (migOk) qui doit passer à 'Yes' si tout est en ordre, ça
pourra m'aider.

Reste donc à implementer les conditions aux bons endroits...

Une idée?

d'avance merci

Frédéric

10 réponses

1 2 3
Avatar
Eric
Bonjour,

Oui c'est aussi bien mais au départ tu voulais :
1- copier la bd
2- La migrer en 2003

donc pour faire simple :
Virer le filecopy
et :
MyAcc.ConvertAccessProject rst!AppliPath & "" &
rst!AppliName, _
NewMigPath & "" & Left(rst!AppliName, > Len(rst!AppliName) - 4) _
& "AC2003.mdb", _
acFileFormatAccess2002 ' ou acFileFormatAccess2003 peut-être ?

Pour les bd à mot de passe, identifies-les et après tu fais un test sur
les noms de ces bds pour es sauter car j'ai pas d'autres idées.

Autre solution, tu fais un nouveau post en demandant comment faire lors
d'une migration de plusieurs bds au format 97 à 2003 pour identifier les
bds ayant un password. Les spécialistes se manifesteront peut-être !




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
fth
Salut Eric,

Bonne suggestion pour le nv fil

concernant ce que je voulais faire au debut et maintenant, oui je sais ...
mais je 'avais pas vraiment pensé à la place utilisé par les db en double
...

je test ton conde et te dis quoi,

bonne fin de journée,

Frédéric
"Eric" wrote in message
news:%
Bonjour,

Oui c'est aussi bien mais au départ tu voulais :
1- copier la bd
2- La migrer en 2003

donc pour faire simple :
Virer le filecopy
et :
MyAcc.ConvertAccessProject rst!AppliPath & "" &
rst!AppliName, _
NewMigPath & "" & Left(rst!AppliName, > Len(rst!AppliName) - 4) _
& "AC2003.mdb", _
acFileFormatAccess2002 ' ou acFileFormatAccess2003 peut-être ?

Pour les bd à mot de passe, identifies-les et après tu fais un test sur
les noms de ces bds pour es sauter car j'ai pas d'autres idées.

Autre solution, tu fais un nouveau post en demandant comment faire lors
d'une migration de plusieurs bds au format 97 à 2003 pour identifier les
bds ayant un password. Les spécialistes se manifesteront peut-être !




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
fth
Eric,

Dans le code, une fois qeu l'appli est migrée, j'ai un champs qui devrait
passer à yes (MigOk)
malgré le fait qeu l'opération à bien eu lieu, le champs n'est pas modif.
tu as une idée?

D'avance merci

Frédéic
"Eric" wrote in message
news:%
Bonjour,

Oui c'est aussi bien mais au départ tu voulais :
1- copier la bd
2- La migrer en 2003

donc pour faire simple :
Virer le filecopy
et :
MyAcc.ConvertAccessProject rst!AppliPath & "" &
rst!AppliName, _
NewMigPath & "" & Left(rst!AppliName, > Len(rst!AppliName) - 4) _
& "AC2003.mdb", _
acFileFormatAccess2002 ' ou acFileFormatAccess2003 peut-être ?

Pour les bd à mot de passe, identifies-les et après tu fais un test sur
les noms de ces bds pour es sauter car j'ai pas d'autres idées.

Autre solution, tu fais un nouveau post en demandant comment faire lors
d'une migration de plusieurs bds au format 97 à 2003 pour identifier les
bds ayant un password. Les spécialistes se manifesteront peut-être !




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
Eric
Bonjour Frédéric,

Suis un peu deconnécté de ta procédure :-(

Le champ MigOk ne serait-il pas dans la table Appli sur laquelle est
construit le recordset ? car en reprenant l'ensemble des posts, je
trouve ça:

Private Sub copyFile_Click()
...
Dim MyAcc As Access.Application
Set MyAcc = New Access.Application
Dim rst As DAO.Recordset
Dim strSQL As String

strSQL = "SELECT ... WHERE peridicity between '1' AND '3';"
Set rst = CurrentDb.OpenRecordset(strSQL)
...
While Not rst.EOF ' sinon
NewMigPath = ...
SHCreateDirectoryEx Me.hwnd, NewMigPath, ByVal 0&
MyAcc.ConvertAccessProject ...
Me.MigOK = yes <--------
rst.MoveNext
Wend
MyAcc.Quit
Set MyAcc = Nothing
Set rst = Nothing
End Sub

Je vois pas ce que vient faire le Me.MigOk sur ce formulaire.
Je le vois (le formulaire) 'd'ici' comme étant un formulaire avec un
bouton de commande qui va migrer toutes les bds de la version A97 vers
A2003 en recréant la structure d'accès(chemin).

Parenthèse, je ne sais pas si le choix A2003 est le meilleur, le format
A2000 étant 'plus large', c'est a dire reconnu et 'maléable' par A2002
et A2003. A toi de voir si vous avez exclusivement du A2003.


Eric,

Dans le code, une fois qeu l'appli est migrée, j'ai un champs qui devrait
passer à yes (MigOk)
malgré le fait qeu l'opération à bien eu lieu, le champs n'est pas modif.
tu as une idée?

D'avance merci

Frédéic
"Eric" wrote in message
news:%

Bonjour,

Oui c'est aussi bien mais au départ tu voulais :
1- copier la bd
2- La migrer en 2003

donc pour faire simple :
Virer le filecopy
et :
MyAcc.ConvertAccessProject rst!AppliPath & "" &
rst!AppliName, _
NewMigPath & "" & Left(rst!AppliName, > Len(rst!AppliName) - 4) _
& "AC2003.mdb", _
acFileFormatAccess2002 ' ou acFileFormatAccess2003 peut-être ?

Pour les bd à mot de passe, identifies-les et après tu fais un test sur
les noms de ces bds pour es sauter car j'ai pas d'autres idées.

Autre solution, tu fais un nouveau post en demandant comment faire lors
d'une migration de plusieurs bds au format 97 à 2003 pour identifier les
bds ayant un password. Les spécialistes se manifesteront peut-être !




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
fth
Bonjour Eric,
pour te décrire le formulaire en question:

qq boutons, un sub form avec une liste déroulante des db à migrer;
un champ applipath, un champ appliname, un champ migok qui devrait être
coché dès que l'opération à eu lieu.

Voila, j'espere avoir été précis?..

Merci


"Eric" wrote in message
news:%
Bonjour Frédéric,

Suis un peu deconnécté de ta procédure :-(

Le champ MigOk ne serait-il pas dans la table Appli sur laquelle est
construit le recordset ? car en reprenant l'ensemble des posts, je trouve
ça:

Private Sub copyFile_Click()
...
Dim MyAcc As Access.Application
Set MyAcc = New Access.Application
Dim rst As DAO.Recordset
Dim strSQL As String

strSQL = "SELECT ... WHERE peridicity between '1' AND '3';"
Set rst = CurrentDb.OpenRecordset(strSQL)
...
While Not rst.EOF ' sinon
NewMigPath = ...
SHCreateDirectoryEx Me.hwnd, NewMigPath, ByVal 0&
MyAcc.ConvertAccessProject ... Me.MigOK = yes <--------
rst.MoveNext
Wend
MyAcc.Quit
Set MyAcc = Nothing
Set rst = Nothing
End Sub

Je vois pas ce que vient faire le Me.MigOk sur ce formulaire.
Je le vois (le formulaire) 'd'ici' comme étant un formulaire avec un
bouton de commande qui va migrer toutes les bds de la version A97 vers
A2003 en recréant la structure d'accès(chemin).

Parenthèse, je ne sais pas si le choix A2003 est le meilleur, le format
A2000 étant 'plus large', c'est a dire reconnu et 'maléable' par A2002 et
A2003. A toi de voir si vous avez exclusivement du A2003.


Eric,

Dans le code, une fois qeu l'appli est migrée, j'ai un champs qui devrait
passer à yes (MigOk)
malgré le fait qeu l'opération à bien eu lieu, le champs n'est pas modif.
tu as une idée?

D'avance merci

Frédéic
"Eric" wrote in message
news:%

Bonjour,

Oui c'est aussi bien mais au départ tu voulais :
1- copier la bd
2- La migrer en 2003

donc pour faire simple :
Virer le filecopy
et :
MyAcc.ConvertAccessProject rst!AppliPath & "" &
rst!AppliName, _
NewMigPath & "" & Left(rst!AppliName, > Len(rst!AppliName) - 4) _
& "AC2003.mdb", _
acFileFormatAccess2002 ' ou acFileFormatAccess2003 peut-être ?

Pour les bd à mot de passe, identifies-les et après tu fais un test sur
les noms de ces bds pour es sauter car j'ai pas d'autres idées.

Autre solution, tu fais un nouveau post en demandant comment faire lors
d'une migration de plusieurs bds au format 97 à 2003 pour identifier les
bds ayant un password. Les spécialistes se manifesteront peut-être !




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
re,

Non, je comprends toujours pas dans quelle table se trouve ce champ
MigOk. Sur quelle table est bati le form et sur quelle autre le sous-form?
Peux tu me mettre au format A2000 ta bd zippée avec quelques données et
les objets se rapportant au pb sur www.cjoint.com , quitte à changer les
données si nécessaires.
Bien que n'ayant pas A2002, je pourrais mieux cerner ton problème avec
le form, sa source sous les yeux ;-).


Bonjour Eric,
pour te décrire le formulaire en question:

qq boutons, un sub form avec une liste déroulante des db à migrer;
un champ applipath, un champ appliname, un champ migok qui devrait être
coché dès que l'opération à eu lieu.

Voila, j'espere avoir été précis?..

Merci


"Eric" wrote in message
news:%

Bonjour Frédéric,

Suis un peu deconnécté de ta procédure :-(

Le champ MigOk ne serait-il pas dans la table Appli sur laquelle est
construit le recordset ? car en reprenant l'ensemble des posts, je trouve
ça:

Private Sub copyFile_Click()
...
Dim MyAcc As Access.Application
Set MyAcc = New Access.Application
Dim rst As DAO.Recordset
Dim strSQL As String

strSQL = "SELECT ... WHERE peridicity between '1' AND '3';"
Set rst = CurrentDb.OpenRecordset(strSQL)
...
While Not rst.EOF ' sinon
NewMigPath = ...
SHCreateDirectoryEx Me.hwnd, NewMigPath, ByVal 0&
MyAcc.ConvertAccessProject ... Me.MigOK = yes <--------
rst.MoveNext
Wend
MyAcc.Quit
Set MyAcc = Nothing
Set rst = Nothing
End Sub

Je vois pas ce que vient faire le Me.MigOk sur ce formulaire.
Je le vois (le formulaire) 'd'ici' comme étant un formulaire avec un
bouton de commande qui va migrer toutes les bds de la version A97 vers
A2003 en recréant la structure d'accès(chemin).

Parenthèse, je ne sais pas si le choix A2003 est le meilleur, le format
A2000 étant 'plus large', c'est a dire reconnu et 'maléable' par A2002 et
A2003. A toi de voir si vous avez exclusivement du A2003.



Eric,

Dans le code, une fois qeu l'appli est migrée, j'ai un champs qui devrait
passer à yes (MigOk)
malgré le fait qeu l'opération à bien eu lieu, le champs n'est pas modif.
tu as une idée?

D'avance merci

Frédéic
"Eric" wrote in message
news:%


Bonjour,

Oui c'est aussi bien mais au départ tu voulais :
1- copier la bd
2- La migrer en 2003

donc pour faire simple :
Virer le filecopy
et :
MyAcc.ConvertAccessProject rst!AppliPath & "" &
rst!AppliName, _
NewMigPath & "" & Left(rst!AppliName, > Len(rst!AppliName) - 4) _
& "AC2003.mdb", _
acFileFormatAccess2002 ' ou acFileFormatAccess2003 peut-être ?

Pour les bd à mot de passe, identifies-les et après tu fais un test sur
les noms de ces bds pour es sauter car j'ai pas d'autres idées.

Autre solution, tu fais un nouveau post en demandant comment faire lors
d'une migration de plusieurs bds au format 97 à 2003 pour identifier les
bds ayant un password. Les spécialistes se manifesteront peut-être !




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--

A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
fth
Eric,


j'ai réduis mon appli mais elle fait encore 503 kb ...

comment fais-je?
"Eric" wrote in message
news:eXXt$
re,

Non, je comprends toujours pas dans quelle table se trouve ce champ MigOk.
Sur quelle table est bati le form et sur quelle autre le sous-form?
Peux tu me mettre au format A2000 ta bd zippée avec quelques données et
les objets se rapportant au pb sur www.cjoint.com , quitte à changer les
données si nécessaires.
Bien que n'ayant pas A2002, je pourrais mieux cerner ton problème avec le
form, sa source sous les yeux ;-).


Bonjour Eric,
pour te décrire le formulaire en question:

qq boutons, un sub form avec une liste déroulante des db à migrer;
un champ applipath, un champ appliname, un champ migok qui devrait être
coché dès que l'opération à eu lieu.

Voila, j'espere avoir été précis?..

Merci


"Eric" wrote in message
news:%

Bonjour Frédéric,

Suis un peu deconnécté de ta procédure :-(

Le champ MigOk ne serait-il pas dans la table Appli sur laquelle est
construit le recordset ? car en reprenant l'ensemble des posts, je trouve
ça:

Private Sub copyFile_Click()
...
Dim MyAcc As Access.Application
Set MyAcc = New Access.Application
Dim rst As DAO.Recordset
Dim strSQL As String

strSQL = "SELECT ... WHERE peridicity between '1' AND '3';"
Set rst = CurrentDb.OpenRecordset(strSQL)
...
While Not rst.EOF ' sinon
NewMigPath = ...
SHCreateDirectoryEx Me.hwnd, NewMigPath, ByVal 0&
MyAcc.ConvertAccessProject ... Me.MigOK = yes <--------
rst.MoveNext
Wend
MyAcc.Quit
Set MyAcc = Nothing
Set rst = Nothing
End Sub

Je vois pas ce que vient faire le Me.MigOk sur ce formulaire.
Je le vois (le formulaire) 'd'ici' comme étant un formulaire avec un
bouton de commande qui va migrer toutes les bds de la version A97 vers
A2003 en recréant la structure d'accès(chemin).

Parenthèse, je ne sais pas si le choix A2003 est le meilleur, le format
A2000 étant 'plus large', c'est a dire reconnu et 'maléable' par A2002 et
A2003. A toi de voir si vous avez exclusivement du A2003.



Eric,

Dans le code, une fois qeu l'appli est migrée, j'ai un champs qui
devrait passer à yes (MigOk)
malgré le fait qeu l'opération à bien eu lieu, le champs n'est pas
modif.
tu as une idée?

D'avance merci

Frédéic
"Eric" wrote in message
news:%


Bonjour,

Oui c'est aussi bien mais au départ tu voulais :
1- copier la bd
2- La migrer en 2003

donc pour faire simple :
Virer le filecopy
et :
MyAcc.ConvertAccessProject rst!AppliPath & "" &
rst!AppliName, _
NewMigPath & "" & Left(rst!AppliName, > Len(rst!AppliName) - 4) _
& "AC2003.mdb", _
acFileFormatAccess2002 ' ou acFileFormatAccess2003 peut-être ?

Pour les bd à mot de passe, identifies-les et après tu fais un test sur
les noms de ces bds pour es sauter car j'ai pas d'autres idées.

Autre solution, tu fais un nouveau post en demandant comment faire lors
d'une migration de plusieurs bds au format 97 à 2003 pour identifier
les bds ayant un password. Les spécialistes se manifesteront peut-être
!




--
A+
Eric
http://users.skynet.be/mpfa/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--

A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Eric
re,

Supprimes tout ce qui ne sert à rien pour le probleme, compactes la
base(très important, ca va la réduire un max), zippes et normalement tu
devrais pas dépasser les 250 ko

Eric,


j'ai réduis mon appli mais elle fait encore 503 kb ...

comment fais-je?



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
fth
E?

Je l'ai réduite à sa plus simple expression mais ça reste au dessus des 250k
dommage hein!?

F
"Eric" wrote in message
news:
re,

Supprimes tout ce qui ne sert à rien pour le probleme, compactes la
base(très important, ca va la réduire un max), zippes et normalement tu
devrais pas dépasser les 250 ko

Eric,


j'ai réduis mon appli mais elle fait encore 503 kb ...

comment fais-je?



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
re,

Tu me surprends là !
J'ai besoin de ton formulaire(avec son sous-form)et de leurs sources de
données, de la table Appli (quelques enregistrements seulement 4-5
suffisent) et autres objets que tu penses *indispensables* pour le
traitement. Tu importes ces objets dans une nouvelle bd et tu la zippes.
Ca peut pas faire plus de 250 Ko tout ca.

Tu déposes sur www.cjoint.com et m'envoies aussi sur mon mail auquel tu
enlèves le ZZ.


E?

Je l'ai réduite à sa plus simple expression mais ça reste au dessus des 250k
dommage hein!?

F
"Eric" wrote in message
news:

re,

Supprimes tout ce qui ne sert à rien pour le probleme, compactes la
base(très important, ca va la réduire un max), zippes et normalement tu
devrais pas dépasser les 250 ko


Eric,


j'ai réduis mon appli mais elle fait encore 503 kb ...

comment fais-je?



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



1 2 3