Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Passer dans plusieurs case dans le meme Select Case

0 views
Skip to first unread message

Max

unread,
Jul 5, 1999, 3:00:00 AM7/5/99
to
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

FlyKiller

unread,
Jul 5, 1999, 3:00:00 AM7/5/99
to
Salut,

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>...

Youri

unread,
Jul 5, 1999, 3:00:00 AM7/5/99
to
Max a écrit dans le message <#W#fuWvx#GA.98@cppssbbsa04>...

|salut,
|
| je cherche le moyen de pouvoir passer dans plusieurs Case dans le meme
|Select Case dans le genre :

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

Sylvain

unread,
Jul 8, 1999, 3:00:00 AM7/8/99
to

>variable = 1
>Select Case variable
> case 1
> [traitement]
> variable = 2
> case 2
> [traitement]
> variable = 3
> case else
> [traitement]
>end select


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


Gauthier BRIERE

unread,
Jul 8, 1999, 3:00:00 AM7/8/99
to
Salut,

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

0 new messages