Hello !
Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs
dans SQL Serveur ? Par exemple pour monter un module de formation, je dois
indiquer les nievaux concernés - initiation, avancé, perfectionnement,
expert - mais l'utilisateur peut cocher les type de module disponible. Il
peut très bien avoir pour la formation bureautique, avancé et expert qui
soient seuls cochés !
Pour info, dans Windev il existe une rubrique appellée tableau
d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire
ceci simplement dans SQL Serveur ?
Merçi.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice
Ce que tu décris de WinDEv me semble être une gestion de drapeaux : chaque bit d'une valeur entière sert d'indicateur 0 ou 1 pour indiquer si l'option correspondante est activée... (cf les opérateurs & et | dans la doc SQL Server).
Cela pourrait aussi être modélisé sous forme d'une table de couples (module,niveau) qui répertorie pour chaque module, les niveaux concernés. La soultion 2 me parait généralement la plus orthodoxe notamment si tu souhaites attacher des informations à chacun de ces couples (les prérequis conseillés peut-être ?).
Patrice
"digging" a écrit dans le message de news:uIQbx$
Hello ! Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs dans SQL Serveur ? Par exemple pour monter un module de formation, je dois indiquer les nievaux concernés - initiation, avancé, perfectionnement, expert - mais l'utilisateur peut cocher les type de module disponible. Il peut très bien avoir pour la formation bureautique, avancé et expert qui soient seuls cochés ! Pour info, dans Windev il existe une rubrique appellée tableau d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire ceci simplement dans SQL Serveur ? Merçi.
Ce que tu décris de WinDEv me semble être une gestion de drapeaux : chaque
bit d'une valeur entière sert d'indicateur 0 ou 1 pour indiquer si l'option
correspondante est activée... (cf les opérateurs & et | dans la doc SQL
Server).
Cela pourrait aussi être modélisé sous forme d'une table de couples
(module,niveau) qui répertorie pour chaque module, les niveaux concernés. La
soultion 2 me parait généralement la plus orthodoxe notamment si tu
souhaites attacher des informations à chacun de ces couples (les prérequis
conseillés peut-être ?).
Patrice
"digging" <epericoloso@wanadoo.fr> a écrit dans le message de
news:uIQbx$YPEHA.3216@TK2MSFTNGP12.phx.gbl...
Hello !
Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs
dans SQL Serveur ? Par exemple pour monter un module de formation, je dois
indiquer les nievaux concernés - initiation, avancé, perfectionnement,
expert - mais l'utilisateur peut cocher les type de module disponible. Il
peut très bien avoir pour la formation bureautique, avancé et expert qui
soient seuls cochés !
Pour info, dans Windev il existe une rubrique appellée tableau
d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire
ceci simplement dans SQL Serveur ?
Merçi.
Ce que tu décris de WinDEv me semble être une gestion de drapeaux : chaque bit d'une valeur entière sert d'indicateur 0 ou 1 pour indiquer si l'option correspondante est activée... (cf les opérateurs & et | dans la doc SQL Server).
Cela pourrait aussi être modélisé sous forme d'une table de couples (module,niveau) qui répertorie pour chaque module, les niveaux concernés. La soultion 2 me parait généralement la plus orthodoxe notamment si tu souhaites attacher des informations à chacun de ces couples (les prérequis conseillés peut-être ?).
Patrice
"digging" a écrit dans le message de news:uIQbx$
Hello ! Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs dans SQL Serveur ? Par exemple pour monter un module de formation, je dois indiquer les nievaux concernés - initiation, avancé, perfectionnement, expert - mais l'utilisateur peut cocher les type de module disponible. Il peut très bien avoir pour la formation bureautique, avancé et expert qui soient seuls cochés ! Pour info, dans Windev il existe une rubrique appellée tableau d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire ceci simplement dans SQL Serveur ? Merçi.
Fred BROUARD
une matrice de bit, c'est à dire en modélisation deux entitées jointes en n:m avec un attribut d'association de type bit.
En SQL il suffit deonc de faire un cross join pour lier l'ensemble et positionner les bits un à un.
A +
digging a écrit:
Hello ! Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs dans SQL Serveur ? Par exemple pour monter un module de formation, je dois indiquer les nievaux concernés - initiation, avancé, perfectionnement, expert - mais l'utilisateur peut cocher les type de module disponible. Il peut très bien avoir pour la formation bureautique, avancé et expert qui soient seuls cochés ! Pour info, dans Windev il existe une rubrique appellée tableau d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire ceci simplement dans SQL Serveur ? Merçi.
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
une matrice de bit, c'est à dire en modélisation deux entitées jointes en n:m
avec un attribut d'association de type bit.
En SQL il suffit deonc de faire un cross join pour lier l'ensemble et positionner
les bits un à un.
A +
digging a écrit:
Hello !
Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs
dans SQL Serveur ? Par exemple pour monter un module de formation, je dois
indiquer les nievaux concernés - initiation, avancé, perfectionnement,
expert - mais l'utilisateur peut cocher les type de module disponible. Il
peut très bien avoir pour la formation bureautique, avancé et expert qui
soient seuls cochés !
Pour info, dans Windev il existe une rubrique appellée tableau
d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire
ceci simplement dans SQL Serveur ?
Merçi.
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
une matrice de bit, c'est à dire en modélisation deux entitées jointes en n:m avec un attribut d'association de type bit.
En SQL il suffit deonc de faire un cross join pour lier l'ensemble et positionner les bits un à un.
A +
digging a écrit:
Hello ! Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs dans SQL Serveur ? Par exemple pour monter un module de formation, je dois indiquer les nievaux concernés - initiation, avancé, perfectionnement, expert - mais l'utilisateur peut cocher les type de module disponible. Il peut très bien avoir pour la formation bureautique, avancé et expert qui soient seuls cochés ! Pour info, dans Windev il existe une rubrique appellée tableau d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire ceci simplement dans SQL Serveur ? Merçi.
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
bruno reiter [MVP]
soit effectivement par des col de type bit, soit par du binary en utilisant des opérateurs bitwise.
br
"digging" wrote in message news:uIQbx$
Hello ! Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs dans SQL Serveur ? Par exemple pour monter un module de formation, je dois indiquer les nievaux concernés - initiation, avancé, perfectionnement, expert - mais l'utilisateur peut cocher les type de module disponible. Il peut très bien avoir pour la formation bureautique, avancé et expert qui soient seuls cochés ! Pour info, dans Windev il existe une rubrique appellée tableau d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire ceci simplement dans SQL Serveur ? Merçi.
soit effectivement par des col de type bit, soit par du binary en utilisant
des opérateurs bitwise.
br
"digging" <epericoloso@wanadoo.fr> wrote in message
news:uIQbx$YPEHA.3216@TK2MSFTNGP12.phx.gbl...
Hello !
Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs
dans SQL Serveur ? Par exemple pour monter un module de formation, je dois
indiquer les nievaux concernés - initiation, avancé, perfectionnement,
expert - mais l'utilisateur peut cocher les type de module disponible. Il
peut très bien avoir pour la formation bureautique, avancé et expert qui
soient seuls cochés !
Pour info, dans Windev il existe une rubrique appellée tableau
d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire
ceci simplement dans SQL Serveur ?
Merçi.
soit effectivement par des col de type bit, soit par du binary en utilisant des opérateurs bitwise.
br
"digging" wrote in message news:uIQbx$
Hello ! Quelqu'un a-t-il une idée sur la façon de gérer un tableau d'interrupteurs dans SQL Serveur ? Par exemple pour monter un module de formation, je dois indiquer les nievaux concernés - initiation, avancé, perfectionnement, expert - mais l'utilisateur peut cocher les type de module disponible. Il peut très bien avoir pour la formation bureautique, avancé et expert qui soient seuls cochés ! Pour info, dans Windev il existe une rubrique appellée tableau d'interrupteurs dont on spécifie juste la dimension maxi. Comment traduire ceci simplement dans SQL Serveur ? Merçi.
digging
Voici la solution que j'ai utilisé pour l'instant : dans ma table sql j'ai une rubrique disons "NiveauFormation char(10)" ; mais en réalité chaque caractère est utilisé comme un bit pour fire ma collection d'interrupteur dans une form. J'écris un transcodage aller-retour. Ceci ma simplifie ma table sql et me garantie que chaque occurence de ma table aura bien TOUS les 10 bit-caractères et mon utilisateur pourra dans sa form cocher ceux qui l'intéresse. Mais il reste la lourdeur du transcodage.
Je reste preneur d'une solution moins manuelle que celle-là.
Voici la solution que j'ai utilisé pour l'instant : dans ma table sql j'ai
une rubrique disons "NiveauFormation char(10)" ; mais en réalité chaque
caractère est utilisé comme un bit pour fire ma collection d'interrupteur
dans une form. J'écris un transcodage aller-retour. Ceci ma simplifie ma
table sql et me garantie que chaque occurence de ma table aura bien TOUS les
10 bit-caractères et mon utilisateur pourra dans sa form cocher ceux qui
l'intéresse. Mais il reste la lourdeur du transcodage.
Je reste preneur d'une solution moins manuelle que celle-là.
Voici la solution que j'ai utilisé pour l'instant : dans ma table sql j'ai une rubrique disons "NiveauFormation char(10)" ; mais en réalité chaque caractère est utilisé comme un bit pour fire ma collection d'interrupteur dans une form. J'écris un transcodage aller-retour. Ceci ma simplifie ma table sql et me garantie que chaque occurence de ma table aura bien TOUS les 10 bit-caractères et mon utilisateur pourra dans sa form cocher ceux qui l'intéresse. Mais il reste la lourdeur du transcodage.
Je reste preneur d'une solution moins manuelle que celle-là.
digging
"Patrice" a écrit dans le message de news:
Ce que tu décris de WinDEv me semble être une gestion de drapeaux : chaque bit d'une valeur entière sert d'indicateur 0 ou 1 pour indiquer si
l'option
correspondante est activée... (cf les opérateurs & et | dans la doc SQL Server).
Cela pourrait aussi être modélisé sous forme d'une table de couples (module,niveau) qui répertorie pour chaque module, les niveaux concernés.
La
soultion 2 me parait généralement la plus orthodoxe notamment si tu souhaites attacher des informations à chacun de ces couples (les prérequis conseillés peut-être ?).
bonjour Patrice Le tableau d'interrupteur de Windev résout un problème d'analyse de manière très éléguante, on peut dire ce qu'on veut ! Le tableau m'assure que chaque occurrence de ma table aura bien la totalité du tableau. L'utilisateur se contente juste de cocher les options retenus dans la fenêtre. Je précise que les libellés des interrupteurs ni le nombre d'éléments du tableau ne sont pas modifiables. La dimension du tableau est fixé dans la base de données, les libellés des interrupteurs sont fixés une bonne fois pour toute dans le design. Merçi.
"Patrice" <nobody@nowhere.com> a écrit dans le message de news:
e16gneZPEHA.2740@TK2MSFTNGP11.phx.gbl...
Ce que tu décris de WinDEv me semble être une gestion de drapeaux : chaque
bit d'une valeur entière sert d'indicateur 0 ou 1 pour indiquer si
l'option
correspondante est activée... (cf les opérateurs & et | dans la doc SQL
Server).
Cela pourrait aussi être modélisé sous forme d'une table de couples
(module,niveau) qui répertorie pour chaque module, les niveaux concernés.
La
soultion 2 me parait généralement la plus orthodoxe notamment si tu
souhaites attacher des informations à chacun de ces couples (les prérequis
conseillés peut-être ?).
bonjour Patrice
Le tableau d'interrupteur de Windev résout un problème d'analyse de manière
très éléguante, on peut dire ce qu'on veut !
Le tableau m'assure que chaque occurrence de ma table aura bien la totalité
du tableau. L'utilisateur se contente juste de cocher les options retenus
dans la fenêtre. Je précise que les libellés des interrupteurs ni le nombre
d'éléments du tableau ne sont pas modifiables. La dimension du tableau est
fixé dans la base de données, les libellés des interrupteurs sont fixés une
bonne fois pour toute dans le design.
Merçi.
Ce que tu décris de WinDEv me semble être une gestion de drapeaux : chaque bit d'une valeur entière sert d'indicateur 0 ou 1 pour indiquer si
l'option
correspondante est activée... (cf les opérateurs & et | dans la doc SQL Server).
Cela pourrait aussi être modélisé sous forme d'une table de couples (module,niveau) qui répertorie pour chaque module, les niveaux concernés.
La
soultion 2 me parait généralement la plus orthodoxe notamment si tu souhaites attacher des informations à chacun de ces couples (les prérequis conseillés peut-être ?).
bonjour Patrice Le tableau d'interrupteur de Windev résout un problème d'analyse de manière très éléguante, on peut dire ce qu'on veut ! Le tableau m'assure que chaque occurrence de ma table aura bien la totalité du tableau. L'utilisateur se contente juste de cocher les options retenus dans la fenêtre. Je précise que les libellés des interrupteurs ni le nombre d'éléments du tableau ne sont pas modifiables. La dimension du tableau est fixé dans la base de données, les libellés des interrupteurs sont fixés une bonne fois pour toute dans le design. Merçi.
digging
"Fred BROUARD" a écrit dans le message de news: O#
une matrice de bit, c'est à dire en modélisation deux entitées jointes en
n:m
avec un attribut d'association de type bit.
En SQL il suffit deonc de faire un cross join pour lier l'ensemble et
positionner
les bits un à un.
A +
Merçi Fred. Je vais creuser ton idée. J'ai aussi acheté ton book au passage, histoire de mettre toutes les chances de mon coté ! digging
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de news:
O#uYBybPEHA.540@TK2MSFTNGP11.phx.gbl...
une matrice de bit, c'est à dire en modélisation deux entitées jointes en
n:m
avec un attribut d'association de type bit.
En SQL il suffit deonc de faire un cross join pour lier l'ensemble et
positionner
les bits un à un.
A +
Merçi Fred. Je vais creuser ton idée. J'ai aussi acheté ton book au passage,
histoire de mettre toutes les chances de mon coté !
digging