Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Salut,
Ni les if-imbriqués ni le Select-Case ne peuvent être "augmentés" pour
tenir compte d'un nouveau cas SANS modifier le code, ce qui est un signe
d'un mauvais développement, en général, lorsque la liste des choses à
traiter est, par sa nature, variable (par contraire, j'illustrerais avec
les
mois de l'année, avant qu'on en ajoute un treizième... ). Une solution
possible est le polymorphisme, mais c'est plutôt lourd dans l'orienté
objet.
Une solution base_de_donnéenne est de faire un lookup (ou jointure), ce
qui
implique que le data est dans une table, pas dans le code (en fait, ayant
une bd à notre disposition, pourquoi ne pas l'utiliser? )
Faire une table avec deux champs:
SiJaiCeci OuvrirCela ' nom des champs
et, dans les enregsitrements, placer, par exemple, "% de contrats arrivés
à
terme" dans le premier champ, et le nom de la requête à ouvrir, dans le
second, et ainsi de suite. Il est facile d'ajouter des "cas" sans modifier
le code en quelque façon (donc, le "client" peut faire les modifs sans
avoir
à voir le code! ) et le code lui-même est quelque chose du genre:
Private Sub Commande6_Click()
DoCmd.OpenQuery DLOOKUP( "OuvrirCela", "NomDeLaTableIci",
"SiJaiCeci=Forms![F_depart requetes]![toto]")
End Sub
eh bien oui, c'est une seule ligne... en bonus (si besoin il y avait
d'avoir
un bonus, en plus).
Espérant être utile,
Vanderghast, Access MVP
"BV" wrote in message
news:ccm3nr$n56$Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrail'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Salut,
Ni les if-imbriqués ni le Select-Case ne peuvent être "augmentés" pour
tenir compte d'un nouveau cas SANS modifier le code, ce qui est un signe
d'un mauvais développement, en général, lorsque la liste des choses à
traiter est, par sa nature, variable (par contraire, j'illustrerais avec
les
mois de l'année, avant qu'on en ajoute un treizième... ). Une solution
possible est le polymorphisme, mais c'est plutôt lourd dans l'orienté
objet.
Une solution base_de_donnéenne est de faire un lookup (ou jointure), ce
qui
implique que le data est dans une table, pas dans le code (en fait, ayant
une bd à notre disposition, pourquoi ne pas l'utiliser? )
Faire une table avec deux champs:
SiJaiCeci OuvrirCela ' nom des champs
et, dans les enregsitrements, placer, par exemple, "% de contrats arrivés
à
terme" dans le premier champ, et le nom de la requête à ouvrir, dans le
second, et ainsi de suite. Il est facile d'ajouter des "cas" sans modifier
le code en quelque façon (donc, le "client" peut faire les modifs sans
avoir
à voir le code! ) et le code lui-même est quelque chose du genre:
Private Sub Commande6_Click()
DoCmd.OpenQuery DLOOKUP( "OuvrirCela", "NomDeLaTableIci",
"SiJaiCeci=Forms![F_depart requetes]![toto]")
End Sub
eh bien oui, c'est une seule ligne... en bonus (si besoin il y avait
d'avoir
un bonus, en plus).
Espérant être utile,
Vanderghast, Access MVP
"BV" <informatique@groupeairh.com> wrote in message
news:ccm3nr$n56$1@news-reader1.wanadoo.fr...
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Salut,
Ni les if-imbriqués ni le Select-Case ne peuvent être "augmentés" pour
tenir compte d'un nouveau cas SANS modifier le code, ce qui est un signe
d'un mauvais développement, en général, lorsque la liste des choses à
traiter est, par sa nature, variable (par contraire, j'illustrerais avec
les
mois de l'année, avant qu'on en ajoute un treizième... ). Une solution
possible est le polymorphisme, mais c'est plutôt lourd dans l'orienté
objet.
Une solution base_de_donnéenne est de faire un lookup (ou jointure), ce
qui
implique que le data est dans une table, pas dans le code (en fait, ayant
une bd à notre disposition, pourquoi ne pas l'utiliser? )
Faire une table avec deux champs:
SiJaiCeci OuvrirCela ' nom des champs
et, dans les enregsitrements, placer, par exemple, "% de contrats arrivés
à
terme" dans le premier champ, et le nom de la requête à ouvrir, dans le
second, et ainsi de suite. Il est facile d'ajouter des "cas" sans modifier
le code en quelque façon (donc, le "client" peut faire les modifs sans
avoir
à voir le code! ) et le code lui-même est quelque chose du genre:
Private Sub Commande6_Click()
DoCmd.OpenQuery DLOOKUP( "OuvrirCela", "NomDeLaTableIci",
"SiJaiCeci=Forms![F_depart requetes]![toto]")
End Sub
eh bien oui, c'est une seule ligne... en bonus (si besoin il y avait
d'avoir
un bonus, en plus).
Espérant être utile,
Vanderghast, Access MVP
"BV" wrote in message
news:ccm3nr$n56$Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrail'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Salut,
Ni les if-imbriqués ni le Select-Case ne peuvent être "augmentés" pour
tenir compte d'un nouveau cas SANS modifier le code, ce qui est un signe
d'un mauvais développement, en général, lorsque la liste des choses à
traiter est, par sa nature, variable (par contraire, j'illustrerais avec
les
mois de l'année, avant qu'on en ajoute un treizième... ). Une solution
possible est le polymorphisme, mais c'est plutôt lourd dans l'orienté
objet.
Une solution base_de_donnéenne est de faire un lookup (ou jointure), ce
qui
implique que le data est dans une table, pas dans le code (en fait, ayant
une bd à notre disposition, pourquoi ne pas l'utiliser? )
Faire une table avec deux champs:
SiJaiCeci OuvrirCela ' nom des champs
et, dans les enregsitrements, placer, par exemple, "% de contrats arrivés
à
terme" dans le premier champ, et le nom de la requête à ouvrir, dans le
second, et ainsi de suite. Il est facile d'ajouter des "cas" sans modifier
le code en quelque façon (donc, le "client" peut faire les modifs sans
avoir
à voir le code! ) et le code lui-même est quelque chose du genre:
Private Sub Commande6_Click()
DoCmd.OpenQuery DLOOKUP( "OuvrirCela", "NomDeLaTableIci",
"SiJaiCeci=Forms![F_depart requetes]![toto]")
End Sub
eh bien oui, c'est une seule ligne... en bonus (si besoin il y avait
d'avoir
un bonus, en plus).
Espérant être utile,
Vanderghast, Access MVP
"BV" wrote in message
news:ccm3nr$n56$Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrail'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Salut,
Ni les if-imbriqués ni le Select-Case ne peuvent être "augmentés" pour
tenir compte d'un nouveau cas SANS modifier le code, ce qui est un signe
d'un mauvais développement, en général, lorsque la liste des choses à
traiter est, par sa nature, variable (par contraire, j'illustrerais avec
les
mois de l'année, avant qu'on en ajoute un treizième... ). Une solution
possible est le polymorphisme, mais c'est plutôt lourd dans l'orienté
objet.
Une solution base_de_donnéenne est de faire un lookup (ou jointure), ce
qui
implique que le data est dans une table, pas dans le code (en fait, ayant
une bd à notre disposition, pourquoi ne pas l'utiliser? )
Faire une table avec deux champs:
SiJaiCeci OuvrirCela ' nom des champs
et, dans les enregsitrements, placer, par exemple, "% de contrats arrivés
à
terme" dans le premier champ, et le nom de la requête à ouvrir, dans le
second, et ainsi de suite. Il est facile d'ajouter des "cas" sans modifier
le code en quelque façon (donc, le "client" peut faire les modifs sans
avoir
à voir le code! ) et le code lui-même est quelque chose du genre:
Private Sub Commande6_Click()
DoCmd.OpenQuery DLOOKUP( "OuvrirCela", "NomDeLaTableIci",
"SiJaiCeci=Forms![F_depart requetes]![toto]")
End Sub
eh bien oui, c'est une seule ligne... en bonus (si besoin il y avait
d'avoir
un bonus, en plus).
Espérant être utile,
Vanderghast, Access MVP
"BV" <informatique@groupeairh.com> wrote in message
news:ccm3nr$n56$1@news-reader1.wanadoo.fr...
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Salut,
Ni les if-imbriqués ni le Select-Case ne peuvent être "augmentés" pour
tenir compte d'un nouveau cas SANS modifier le code, ce qui est un signe
d'un mauvais développement, en général, lorsque la liste des choses à
traiter est, par sa nature, variable (par contraire, j'illustrerais avec
les
mois de l'année, avant qu'on en ajoute un treizième... ). Une solution
possible est le polymorphisme, mais c'est plutôt lourd dans l'orienté
objet.
Une solution base_de_donnéenne est de faire un lookup (ou jointure), ce
qui
implique que le data est dans une table, pas dans le code (en fait, ayant
une bd à notre disposition, pourquoi ne pas l'utiliser? )
Faire une table avec deux champs:
SiJaiCeci OuvrirCela ' nom des champs
et, dans les enregsitrements, placer, par exemple, "% de contrats arrivés
à
terme" dans le premier champ, et le nom de la requête à ouvrir, dans le
second, et ainsi de suite. Il est facile d'ajouter des "cas" sans modifier
le code en quelque façon (donc, le "client" peut faire les modifs sans
avoir
à voir le code! ) et le code lui-même est quelque chose du genre:
Private Sub Commande6_Click()
DoCmd.OpenQuery DLOOKUP( "OuvrirCela", "NomDeLaTableIci",
"SiJaiCeci=Forms![F_depart requetes]![toto]")
End Sub
eh bien oui, c'est une seule ligne... en bonus (si besoin il y avait
d'avoir
un bonus, en plus).
Espérant être utile,
Vanderghast, Access MVP
"BV" wrote in message
news:ccm3nr$n56$Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et
je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je
pourrail'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Hello !
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Hello !
Bonjour à tous je reprends un post en date du 06/07
merci d'abors à tous pour vos réponses qui me permettent d'avancer
jour après jour (merci raymond)
bon j'ai ce code ci-dessous
Private Sub Commande6_Click()
Dim liste1 As String
liste1 = Forms![F_depart requetes]![toto]
If liste1 = "% de contrats arrivés à terme" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% enfants à charge" Then
DoCmd.OpenQuery "STATS_A(% enfants à charge)"
Else
If liste1 = "% H/F" Then
DoCmd.OpenQuery "STATS_A(% H/F)"
Else
If liste1 = "% inscrits à l'anpe" Then
DoCmd.OpenQuery "STATS_A(% ANPE)"
Else
If liste1 = "% motif fin de contrat" Then
DoCmd.OpenQuery "STATS_A(% contrats arrivés à terme)"
Else
If liste1 = "% orientation activité souhaitée" Then
DoCmd.OpenQuery "STATS_A(% orientation par activité)"
Else
If liste1 = "% orientation chantier" Then
DoCmd.OpenQuery "STATS_A(% orientation chantier)"
Else
MsgBox ("autre choix non actif")
End If
End If
End If
End If
End If
End If
End If
End Sub
je sais c'est pas très propre mais je débute vraiment
Probleme j'ai une liste déroulante avec au moins 15 choix possibles et je
répète à chaque fois mes end if
raymond MVP m'a parlé de select case, mais je ne vois pas comment je pourrai
l'intégrer en enlevant les end if
et en laissant quand même un msgbox si probleme
merci pour vos réponses
BV
Hello !