je cherche le moyen de pouvoir passer dans plusieurs Case dans le meme
Select Case dans le genre :
variable = 1
Select Case variable
case 1
[traitement]
variable = 2
case 2
[traitement]
variable = 3
case else
[traitement]
end select
Le but de la fonction est de mettre a jour une bd en fonction de la version
du programme (variable = version) en prenant la version de la BD,
enregistrer dans un champs, et en l'upgradant niveau par niveau. Tout autre
méthode pour gérer les mise a niveau est aussi la bienvenue
max
Je suis pas sûr d'avoir compris le problème comme il faut mais si je m'en
réfère à la première moitié de ta question:
Select Case Variable
Case 1,2,4
Traitement 1
Case 3,5
Traitement 2
Case Else
Traitement 3
End Select
Pour la 2ème moitié de la question, voici ce que je fais (j'ai exactement le
même problème)
Imagine que la nouvelle version de la DB existe réellement: tu as 2 DB ->
OldDB et NewDB
pour chaque TableDef/Field/Index/Query, tu recherches les champs qui existe
dans NewDB
mais pas dans OldDB et là, tu fais une modification de la structure. Pour
cela, il faut utiliser
DAO (pas ADO) mais vu ce que tu écris, je suppose que tu l'utilises.
Si tu veux un code d'exemple, envois-moi un mail privé: ce code est un code
utilisé de façon
professionnelle, il est hors de question de le distribuer à grande échelle
(sinon mon patron
me tue)
--
-=< FlyKiller >=-
http://home.tvd.be/ws36009
Max wrote in message <#W#fuWvx#GA.98@cppssbbsa04>...
Ca ne fonctionne pas comme en C, où on peut supprimer le break pour tout
enchaîner.
|Le but de la fonction est de mettre a jour une bd en fonction de la version
|du programme (variable = version) en prenant la version de la BD,
|enregistrer dans un champs, et en l'upgradant niveau par niveau. Tout autre
|méthode pour gérer les mise a niveau est aussi la bienvenue
Une façon de faire:
Const Version = 12
Do While (Version < VersionCourante)
Select Case Version
Case 1
[Traitement]
Version = 2
Case 2
[Traitement]
Version = 3
...
End Select
Loop
--
Youri
Tout cela va faire un code lourdissime dans la même Sub !!!
Pourquoi ne pas faire ceci plus simplement :
Select Case MaVersion
Case 1
MiseAJourVersion1
MiseAJourVersion2
MiseAJourDernièreVersion
Case 2
MiseAJourVersion2
MiseAJourDernièreVersion
Case Else
MiseAJourDernièreVersion
End Select
.... sachant que MiseAJourVersion1, 2 et DernièreVersion sont des Sub
définies par ailleurs ?
Mon conseil : au delà d'une page d'écran de longueur, remettre en question
l'organisation de son code et penser Sub/Function pour détacher
une/plusieurs parties de son code en sous-procédures.
Une page écran c'est bien sûr une longueur arbitraire et générale. A adapter
selon ses propres critères et pour chaque application.
Sylvain
Participer à la recherche de très grands Nombres Premiers, sérieusement,
pour le plaisir, ou les prix ! ... http://www.entropia.com/gimps/fr
Et pourquoi ne pas utiliser If Then ...
If variable = 1 then
[traitement]
variable = 2
End If
If variable = 2 then
[traitement]
variable = 3
End If
etc...
A++
Gauthier.
Max a écrit:
>
> salut,
>
> je cherche le moyen de pouvoir passer dans plusieurs Case dans le meme
> Select Case dans le genre :
>
> variable = 1
> Select Case variable
> case 1
> [traitement]
> variable = 2
> case 2
> [traitement]
> variable = 3
> case else
> [traitement]
> end select
>
> Le but de la fonction est de mettre a jour une bd en fonction de la version
> du programme (variable = version) en prenant la version de la BD,
> enregistrer dans un champs, et en l'upgradant niveau par niveau. Tout autre
> méthode pour gérer les mise a niveau est aussi la bienvenue
>
> max