|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
Bonjours
J'ai une base de donnée comprenant 2 tables : DESSIN comprenant une liste de dessin et BOM comprenant les ''enfants'' de chaque dessin. Je dois faire un formulaire (t1 dessin ) qui affiche le contenu de BOM selon le DESSIN choisis. Pour ce faire, je doit utiliser une selection multi-critere comprenant les 3 parties des numéro des dessins. Ils ont la structure XXXX-YYY-ZZ. J'aimerais garder si possible mon champs BOM/LIGNE_BOM car d'autre aplication l'utilise. si ce n'est pas possible, je peut ajouter 3 champs pour mes critère XXXX , YYY, et ZZ. J'ai toutefois copiers une partie de sont contenu dans BOM/DESSIN pour facilité mon formulaire. J'aimerais avoir votre aide, je ne suis pas capable 1-de faire afficher dans mes liste déroulantes les différentes parties (XXXX, YYY, et ZZ ) pour lesquel il y a des dessins. 2-afficher le sous-formulaire en fonction du dessin choisis ( avec les 3 critères ) Merci de votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
Peux-tu poster un fichier zip svp. NB Veille à ce que la db soit en version compatible avec Access2000, sinon je ne pourrai pas t'aider. |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
salut
J'ai réusis. Mais j'aimerais savoir s'il est possible de faire mes requete en utilisant le champs BOM / LIGNE-BOM et DESSIN / DESSIN. J'ai copier subdiviser ( en copier ) l'info de ces champs Je doit garder ces champs intacte pour d'autre programme qui utilise la meme base de donnée. dan voici la version en .zip |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Je ne comprends pas ce que tu fais.
Dans la table dessin, je devine que le champ "dessin" est la concaténation de Projet-section-plan Pourquoi cette redondance ? Dans la table BOM, c'est moins clair, le champ Ligne_Bom est la concaténation de Projet-section-Plan et ? le champ Piece = Projet- ? - Plan. Quelles sont les données de base en réalité et comment fais-tu la liaison entre BOM et Dessin ? |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
Merci pour ton aide ClaudeLELOUP , voici quelque explications
Ma base de données vas se remplir a partir d'un logiciel de dessin ( SOLIDWORK ), LA table DESSIN vas contenenir la liste des numéro de DESSIN ( clé primaire ), avec sa description. PLus tard, je vais ajouter d'autre info comme la date, le couts, le client etc.... JE NE SAIS PAS COMMENT EXTRAIRE UNE PARTIE DU TEXTE DANS LES RÉSILTATS DES REQUETES. J'ai donc créer les champs PROJET, SECTIO et PLAN pour faciliter mon formulaire avec des multi-critère. Le table BOM comprends les pieces contenu dans chaque dessins. Dans chaque dessin, il y a une liste de pieces qui sont identifiés avec un numéro ( 1, 2, 3, 4...) Ce numéro d'identification est la partie de droite dans LIGNE_BOM (clé primaire ) . Donc, avec seulement, LIGNE_BOM, je connait dans quel desin il est ( donc, le projet, la section et le plan ) et sont numéro d'identification. Encore une fois, JE NE SAIS PAS COMMENT EXTRAIRE UNE PARTIE DU TEXTE DANS LES RÉSILTATS DES REQUETES, donc j'ai copiée les info dans les champs DESSIN' SECTION, PLAN et PROJET pour faciliter mon formulaire avec des multi-critère. J'ai réusis a faire un formulaire avec muli-critere, mais je cherche a savoir comment extraire un partie du texte des résultat d'une requete. pour utiliser seulement les champs DESSIN / DESSIN et BOM / LIGNE_BOM. ( exemple faire une requete sur DESSIN / DESSIN / 5870 et obtenir 000 et 100 comme section . Je vais devoir utiliser ces requete pour comptabiliser des info ( exemple, combien de dessin dans 5780, ou encore, dans 5864-1*, combien de BOM/ACHAT sont = a ''O'' . encore une fois, merci de ton aide dan |
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
Il y a trois fonctions qui peuvent de servir dans ce contexte : Left, Right et Mid. Pour les découvrir : ouvre une fenêtre d’exécution : <ALT> + <F11> saisis ceci : ? left("XXXX-YYY-ZZ",4) et <ENTER> en français : imprime les quatre caractères de gauche de l’expression entre les « " » saisis ceci : ? Right("XXXX-YYY-ZZ",2) et <ENTER> en français : imprime les deux caractères de droite de l’expression entre les « " » saisis ceci : ? Mid("XXXX-YYY-ZZ",6,3) et <ENTER> en français : imprime les trois caractères qui suivent le sixième caractère de l’expression entre les « " » Si tu places le curseur de ta souris sur le mot-clé (left…) et que tu enfonces <F1> l’aide Access s’ouvre à la bonne page. Fais ça souvent et tu apprendras vite. Ainsi, au lieu de torturer ta table, tu aurais pu construire une requête qui te donne chaque valeur à l’instant voulu. En voici le SQL : Code :
copie n’importe quelle requête ; affiche son sql ; replace son code sql par celui que je t’ai fourni plus haut ; repasse en mode construction. Tu verras probablement, selon ta version d’Access, que les fonctions ont été francisées et que la virgule est devenue point-virgule. Procède par analogie pour l’autre table et construit maintenant ton formulaire multicritère sur base des requêtes au lieu des tables originales. Attention : si tu veux garder les mêmes noms (Projet…), tu dois d’abord les supprimer dans la table sinon, il y a ambiguïté et Access lèvera une erreur. Reviens si ce n'est pas clair pour toi. |
||
|
|
10
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
Merci claude
le code sql que tu m'a donné m'aide beaucoups. Il me reste a faire ma requete on ''reconstruisant'' le numero de DESSIN acvec les 3 case du formulaires. Je vais aussi chercher le moyen de mettre 3 possibilites de requete pour le sous-formulaire. explication: Au début les 3 case sont vide. L'usager choisis un projet ( ex: 5864) et tout de suite, je vais devoir afficher les info de 5864*. Par la suite, il ajoute la section ( ex:100) donc afficher les info de 5864-100*, et finalement, il choisis un plan ( ex:01) donc j'affiche 5864-100-01. apres avoir tester cela, je vais être bon pour faire environ 80% de mon projet. encore une fois, mille merci de ton aide |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Peux-tu expliquer, avec des mots et sans parler d'Access, ce que tu veux faire :
Exemple : - à l'origine, j'ai une table qui contient tel(s) champ(s)... - dans le but de... - je voudrais construire un formulaire pour que l'utilisateur puisse faire ceci... |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
re-salut
J'ai une table DESSIN qui est la liste des toutes les dessins que l'on fabrique Mes Numéro de dessin ont une structure xxxx-yyy-zz : explication le project xxxx comprends les section yyy qui eu utilise les plans zz J'ai une autre table BOM qui comprends les items ''listé'' dans chaque dessin C'est chaque items est numéroté (LIGNE_BOM) avec la structure xxxx-yyy-zz-#items Je veut un formulaire dans lequel sera affiché les items des plans sélectionnés par l'usage Pour la selection, l'usage choisis le projet, et/ou la section et/ou le plan. Donc, l'affichage des items est ajusté en fonction du nombre et des valeurs des critères donné par l'usage. merci |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Vois dans le fichier joint, ton exemple un peu modifié.
Tables Les champs redondants Projet, Section et Plan ont disparu. J’ai ajouté une requête rDessins pour rendre ces champs disponibles. Formulaire Vois les noms donnés aux contrôles. N. B. Tu devrais lire ceci : conventions typographiques. Vois le code de l’événement « après mise à jour » associé aux contrôles filtreXXX : les commentaires devraient te permettre de comprendre ce qui s’y passe. Si problème, place le curseur de la souris sur un mot-clé et enfonce <F1> pour ouvrir l’aide à la bonne page. Requête rDESSIN_REQUETE Vois l’astuce pour trier la sélection dans l’ordre croissant des items. on trie sur "CEnt(Droite([ligne_bom];NbCar([Ligne_bom])-12))" En français : NbCar([Ligne_bom])-12 : le nbre de caractères du champ – 12 => donc tous ceux à la droite du dernier tiret. Droite([ligne_bom];NbCar([Ligne_bom])-12) On récupère les positions après la 12e position (le dernier tiret) CEnt(Droite([ligne_bom];NbCar([Ligne_bom])-12)) on convertit en nombre entier => ce qui permet de trier par ordre croissant sur la valeur numérique du texte. Reviens si ce n'est pas clair. |
|
|
00
|
|
|
#11 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
merci claude
J'ai bien aime l'utilisation de le requete RDESSIN , très bonne idée Il reste une choses a faire. La requete doit fonctionner si 1-l'usager rentre seulement le projet, alors, la requete est du type : filtreprojet-* 2-l'usager rentre le projet et section, alors, la requete est du type : filtreprojet-filtresection-* 3- l'usager rentre le projet, la section , le plan : fonctionnement actuel ton aide est précieuse dan |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
Voici un système polyvalent. Si tu inscris ceci : Tu opères la sélection lorsqu’il y a égalité stricte. Par contre avec cette syntaxe : Code :
Comme "*" & [Formulaires]![dessin]![FiltreProjet] & "*" J’ai donc modifié la requête rDESSIN_REQUETE et aussi le contenu de tes zones de liste. Le bouton sert à remettre les trois filtres à Null => tout est alors sélectionné et au fur et à mesure que l’utilisateur remplit un filtre, les sélections se réduisent. |
|
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
Merci pour ton aide
Je viens de regarder ton fichier. Bonne idée le code : comme * & variable & * J'ai hate de la tester demain au travail sur win 7 et access 2010. |
|
|
00
|
|
|
#14 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
C'est mystérieux. C'est moi sur winxp et access 2007 francais , tout est ok, mais je viens de tester au travail, avec win 7 et access 2010 anglais et quand j'ouvre le formulaire, une fenetre apparet et me demande de rentrer la valeurs des filtres manuellement. C'est la même choses quand je selectonne un filtre.
dan |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
C'est sans doute la différence de version français => anglais. Dans la requête, là où tu as "formulaires", tu remplaces par "forms" et ça devrait marcher. |
|
|
00
|
|
|
#16 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 58 ![]() |
encore une fois un gros merci
c'était bien ca, la version francais comprends l'anglais, mais pas le contraire. j'ai presque fini tout ce que je voulait faire |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com