|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Chef d'entreprise Inscription : mai 2011 Messages : 57 ![]() |
Bonjour,
Je me heurte à un problème de présentation dans un formulaire continu que je n'arrive pas à résoudre. J'ai les tables suivantes : CLIENTS : IdClient, ... ENFANTS : IdEnfant, IdClient, Prenom TELEPHONES : IdTelephone, IdClient, TypeTel, NumeroTel Je souhaite afficher la liste des clients dans un formulaire continu en faisant apparaître le prénoms des enfants dans un champ sous la forme "prénom1 - prénom2 - prénom3...", ainsi que le numéro de téléphone portable et le numéro de téléphone de domicile du client dans des champs séparés (le champ TypeTel de la table TELEPHONES peut revoir les valeurs "dom", "port", "fax", "bureau",...). Tout cela ne pose aucun problème dans un formulaire unique avec un peu de VBA, par contre, les contraintes liés au formulaire continu m'impose de passer par une requête SQL et là, je sèche complètement. Si quelqu'un avait un début de solution ou une autre méthode pour parvenir au même résultat, je lui en serai grandement reconnaissant. Merci par avance. |
|
|
00
|
|
|
#2 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Pour tes prénoms, il va falloir faire une fonction qui les concatène.
Code :
Pour le télphone je n'ai pas compris ce que tu veux faire. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#3 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Note que la fonction peut ralentir pas mal ta requête. Une solution est de faire le calcul au moment de la saisie des prénoms et de stocker la liste des prénoms dans la table CLIENTS en plus de stocker chaque enfant séparément.
Ce n'est pas très 3ième forme normale mais comme c'est une données qui change peu et que tu peux assez facilement la gérer, le gain en temps d'exécution peut justifier cette entorse à la norme. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Chef d'entreprise Inscription : mai 2011 Messages : 57 ![]() |
Bonsoir,
Merci de ta réponse. La base pouvant contenir plusieurs milliers de clients et donc d'autant plus d'enfants, la solution non-normalisée me parait plus séduisante... et trop simple pour que je n'y pense à force de me tirer les cheveux là-dessus depuis hier . Pour les numéros de téléphone, mon formulaire contient 1 champ "Tél. Domicile" et 1 autre "Tél. portable" pour chaque client. Mon but est que ces numéros soient affichés dans le formulaire continu. A la vue de ta précédente réponse, une solution peut consister à stocker ces données à la fois dans la table clients et dans la table téléphones mais pour le coup, je la trouve moins élégante. Débutant sur Access, je trouve que cette contrainte sur les formulaires continus est vraiment dommageable. |
|
|
00
|
|
|
#5 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Pour les numéros de téléphone je ferais 2 requêtes supplémentaires : une pour chaque type qui t'interesse. Après tu fais une jointure sur chacune de tes nouvelles requêtes.
Un truc du genre : rListeTelDomClient Code sql :
SELECT telephones.idClient, telephones.NumeroTel FROM telephones WHERE telephones.typeTel="Dom"; A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#6 | |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Citation:
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Chef d'entreprise Inscription : mai 2011 Messages : 57 ![]() |
Et bien tout cela marche très bien. J'ai en plus découvert que l'on pouvait mettre des requêtes en plus des table en mode création de requête, ce qui est très pratique pour les jointures.
Merci pour ton aide. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com