IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Champs multi-valués
        A quoi servent les champs multi-valués ?
        Combien de valeurs accepte un champ multi-valué ?
        Comment afficher les libellés à la place des valeurs dans un champ multi-valué ?
        Est-il possible d'utiliser les champs multi-valués avec un grand volume de données ?
        Où trouver des ressources sur les champs multi-valués
        3.1. SQL(9)
                Comment compter le nombre de valeurs distinctes d'un champ multi-valué sur l'ensemble la table en SQL ?
                Comment compter le nombre de valeur d'un champ multi-valué en SQL?
                Comment filtrer les enregistrements en fonction des valeurs d'un champ multi-valué ?
                Comment lister les valeurs distinctes d'un champs multi-valué sur l'ensemble de la table en SQL ?
                Comment savoir si un champ multi-valué est vide en SQL ?
                Comment supprimer toutes les valeurs d'un champs multi-valué ?
                Comment supprimer une valeur d'un champs multi-valué ?
                Est il possible de créer un nouvel enregistrement avec un champ multi-valué en SQL ?
                Est il possible d'insérer une valeur dans un champs multi valué en SQL ?
        3.2. VBA(9)
                Comment compter le nombre de valeurs d'un champ multi-valué en VBA ?
                Comment savoir si un champ accepte les valeurs multiples ?
                Comment supprimer toutes les valeurs d'un champs multi-valué en VBA ?
                Comment supprimer une valeur d'un champs multi-valué en VBA ?
                Comment ajouter une valeur d'un champs multi-valué en VBA ?
                Comment créer un champ à valeurs multiples de type 'Liste de valeurs' ?
                Comment créer un champ à valeurs multiples de type 'Table/requête' ?
                Comment convertir un champ multiple en relation 1 à plusieurs ?
                Comment dupliquer un champ multi-valué en VBA ?

rechercher
precedent    sommaire    suivant    telecharger


A quoi servent les champs multi-valués ?
auteur :Christophe Warin
Les champs multi-valués permettent de stocker plusieurs valeurs dans un seul champ. Ils remplacent ainsi les tables utilisées lors des relations plusieurs à plusieurs.

Prenons l'exemple d'une table de chauffeur. Chacun d'eux possède un ou plusieurs permis de conduire.

Avant nous aurions eu cette structure :

Chauffeur(NumChauffeur,NomChauffeur,PrenomChauffeur)
Detenir(NumChauffeur,Permis)

Avec la table Detenir qui contenait :

1,C
1,B
2,C
2,E
3,B

Maintenant nous avons :

Chauffeur(NumChauffeur,NomChauffeur,PrenomChauffeur,Permis)

Avec la table Chauffeur qui contient

1,NORD,Paul,C;B
2,FERT,Lucy,C;E

lien : faq Où trouver des ressources sur les champs multi-valués

Combien de valeurs accepte un champ multi-valué ?
auteur :Christophe Warin
Les champs multi-valués étant représentés comme des sous-recordset, le nombre de valeurs ne semble donc pas limité. En tout cas, je suis parvenu à y insérer plus de 100000 valeurs sans erreurs. Attention toutefois, il est évident qu'un grand nombre de valeurs fera chuter rapidement les performances.


Comment afficher les libellés à la place des valeurs dans un champ multi-valué ?
auteur :Christophe Warin
Dans une requête, un champ multi-valué affiche uniquement la valeur de la colonne liée de sa zone de liste.

Exemple :

tbl_eleve(IDEleve,Nom,Prenom)
tbl_classe(IDClasse,nomClasse,Eleves)

Où Eleves est un champ multi-valué dont la source de la zone de liste est :
SELECT IDEleves, Nom,Prenom FROM tbl_eleve
En toute logique, une requête basée sur la table tbl_classe affichera les numéros des élèves et non leur nom. Pour parer ce phénomène, il faut utiliser une jointure entre les deux tables.
SELECT tbl_classe.NomClasse, tbl_eleve.Nom, tbl_eleve.Prenom, tbl_classe.Annee
FROM tbl_classe 
   INNER JOIN tbl_eleve 
    ON tbl_classe.Eleves.Value = tbl_eleve.ID;

Est-il possible d'utiliser les champs multi-valués avec un grand volume de données ?
auteur :Christophe Warin
Un test de performance présenté dans le tutoriel de Christophe Warin indique que lorsque le volume de données atteint les 100000 lignes, les performances sont médiocres. Le temps de traitement est environ 10 fois plus long qu'avec une relation 1-N.

Toutefois, impossible de se limiter à un tel test sur si peu d'enregistrements. Aussi, sur un jeu beaucoup plus vaste (200 classes pour 10000 élèves et en moyenne 10 élèves par classe), il s'avère que l'utilisation des champs multi-valués devient réellement pénalisante. Pour preuve, un seul appel de la requête R03 est exécuté en 0.8 seconde, alors que l'appel de R02 demande plus de 10 secondes.


Où trouver des ressources sur les champs multi-valués
auteur :Christophe Warin
www.developpez.com vous propose :


Découvrez et jugez une nouveauté importante de la nouvelle version annoncée de Microsoft Access V12 (Access 2007). Cet article est aussi bien destiné au développeur débutant souhaitant se familiariser avec les possibilités d'Access qu'au développeur professionnel désirant se faire son propre opinon sur le nouveau moteur de base de données Access.


Un débat sur les champs multi-valués. Venez-y vous exprimer et donner votre avis et vos conseils


rechercher
precedent    sommaire    suivant    telecharger

Consultez les autres F.A.Q's


Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.