Modifier le nom d'un champ sans passer par le mode création de requete

Fermé
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020 - 19 mai 2020 à 11:04
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 - 21 sept. 2020 à 10:30
Bonjour,

J’aimerai savoir si il existe une fonction qui me permettrai de transformer les noms du champs d'une table sans passer par le mode création des requêtes

Exemple :

> Je me trouve dans le formulaire
> Je choisi AUT dans la liste déroulante
> Cliquer sur AUT va modifier les champs contenu dans la requête
> NC famille : BIL devient > NC famille : AUT

Merci à ceux qui veulent bien m'aider vous trouverez 2 images en pièce jointe
A voir également:

15 réponses

yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
19 mai 2020 à 18:28
bonjour, veux-tu modifier une table ou modifier une requête?
je suppose que tu veux modifier une requête.
cela peut se faire par VBA.
cependant, bien que tu ne décrives pas ce que tu veux obtenir, je suppose qu'il y a peu être moyen de faire autrement: utiliser une requête dynamique via le VBA.
je suggère donc que tu décrives ce que tu veux réellement obtenir.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
19 mai 2020 à 18:50
Tout d'abord merci de m'avoir répondu ????

En fait QL famille correspond à Quantité livrée cette valeur est donc un nombre

Il y a plusieurs famille, donc "QL famille : BIL" correspond à la quantité de produit livrée pour la famille BIL

Je pourrais acceder aux valeur directement par la requête mais je souhaite que la quantité apparaisse dans une case du formulaire

L'objectif est que lorsque je selectionne une famille dans la liste déroulante la valeur qui correspond a sa QL famille apparaisse dans le formulaire a la case paramétré

Je ne sais pas si j'ai bien expliqué mais au final je souhaite que la valeur derrière les 2 points " : " soit choisit au moyen de la liste famille déroulante

Je ne connaissait pas les requêtes dynamiques
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
19 mai 2020 à 19:11
je pense que ce que tu veux faire est facile à réaliser en VBA, pas besoin de requête.
par ailleurs, je pense que ta base n'est pas correctement structurée: ce n'est pas une bonne pratique d'avoir une colonne par famille.
la preuve: tu te retrouves à devoir faire du VBA.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
19 mai 2020 à 19:30
Globalement par rapport à mes connaissances j'avais 2 solutions
Soit 3 requetes :
- QL par famille
- NC par Famille
- dérogation par famille
Chaque requête contient une table "famille" et je n'avais qu'à mettre la famille désiré comme critère
Le problème c'est que je devais relier la liste déroulante contenu dans le formulaire à ce critère,mais même en choisissant dans la liste déroulante le critère de requete n'était pas altéré

Donc ma deuxième solution c'est portée sur une requête qui fusionne les 3 autres et dont je devais arriver a modifier le nom de table

L'objectif n'est pas d'avoir plusieurs table QL famille (ex QL famille : BIL | QL famille : TOL)
Mais bien une seule table QL famille : X. Qui s'adapte en fonction du choix fait dans la liste déroulante
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
20 mai 2020 à 08:31
Ton objectif est-il, d'afficher une valeur dans le formulaire, sur base du choix fait dans la liste déroulante? Tu peux faire cela en VBA, pas besoin de requête.

Par ailleurs, je pense que ta base n'est pas correctement structurée, tes tables et tes champs ne sont pas correctement définie: ce n'est pas une bonne pratique d'avoir, dans les tables, une champ par famille.
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024
29 mai 2020 à 08:45
peux-tu donner suite, ou marquer comme résolu?
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020 > yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024
Modifié le 29 mai 2020 à 10:34
Globalement ce problème et la deuxième question que j'ai posé dans l'autre discussion sont liés. Je vais donc marquer l'autre discussion comme étant résolu et continuer sur celle-ci.

Je suis en train de me renseigner sur le codage en VBA j'en ai déja fait sur excel mais c'était il y a 1 an donc je ne sais plus trop par ou commencer, normalement pour ce soir j'aurais trouvé comment créer une macro pour modifier le nom d'un champs

Mais je n'arrive toujours pas à relier la liste déroulante du choix de l'année (contenu dans le formulaire) au critère année (contenu dans la requête)
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
29 mai 2020 à 11:15
peux-tu partager ta base, et préciser ce que tu veux obtenir dans quel zone de quel formulaire?
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
29 mai 2020 à 11:41
Je ne peux pas partager ma base car certaine table et requête essentiel requiert d'avoir une adresse ip de mon entreprise donc d'etre sur site pour quelles puissent s'afficher (tables ODBC).
Donc meme si je vous partageait ma base rien ne fonctionnerai.

Cependant je vais essayer de contextualiser le plus possible ma demande et de vous donner toutes les infos nécéssaires.
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
29 mai 2020 à 12:29
ou fait une petite base qui peut me servir à faire mes suggestions.
il me semble que le formulaire et une requête suffisent (avec des tables qui permettent à cette requête de fonctionner)
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020 > yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024
29 mai 2020 à 12:56
Ok je vais donc transformer le formulaire + les 3 requetes QL, NC et dérogation par acheteur en local pour exemple
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
Modifié le 29 mai 2020 à 16:33
quand tu écris "je dois trier les NC (Non-conformité) , les QL (quantités livrées) et les dérogation en fonction de 3 facteurs", je suppose que tu veux dire sélectionner, et pas trier.

tes trois requêtes sont des requêtes pivot, pourquoi utilises-tu cela? c'est à cause de cela que tu dois modifier les requêtes, au lieu de choisir les bonnes valeurs.

je ne vois pas, dans la base que tu as fournie, comment obtenir le message d'erreur que tu montres dans ton document word.
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024
29 mai 2020 à 18:02
je peux par exemple faire cette requête, sans message d'erreur:
SELECT [Liste acheteur].Acheteur, [Liste acheteur].Acheteur
FROM [Liste acheteur]
WHERE ((([Liste acheteur].Acheteur)=[Forms]![Présentation acheteur]![choix acheteur]));
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
1 juin 2020 à 17:30
Bonjour , l'objectif n'est pas que le nom de l'acheteur apparaisse dans la requête en tant que résultat lorsqu'on le choisi en liste déroulante mais que ce soit sa quantité de QL, NC , déro qui apparaisse.

Néanmoins j'ai pu comprendre que le la liste déroulante doit contenir les valeurs de la liste acheteur pour pouvoir être utilisé comme critère

cependant j'ai un peu plus de mal à relier les dates

je souhaite pouvoir obtenir les quantités pour une date donnée , pour un acheteur donnée
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
1 juin 2020 à 17:57
qu'as-tu essayé? quel problème as-tu rencontré?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
2 juin 2020 à 12:43
bonjour j'ai enfin réussi a fusionner les tables et requête afin d'obtenir les NC ,QL et dérogation en fonction de la date

Il ne me reste qu'a relier les listes déroulantes et renvoyer les valeurs dans le formulaire

si vous voulez le détails j'ai crée :

Une requete DATA QL : (contient les données de QL ,les quantités livrées)

SELECT [QL livraison fournisseur].Acheteur, Format([XDATEX],"mm-yyyy") AS [Mois 2], Sum([QL livraison fournisseur].Quantité) AS SommeDeQuantité
FROM [QL livraison fournisseur]
GROUP BY [QL livraison fournisseur].Acheteur, Format([XDATEX],"mm-yyyy");




une requete "donnée NC + dérogation": ( contient les données de Non-Conforme + dérogation)

SELECT Format([Date réception ],"mm-yyyy") AS [Mois 3], [NC + Déro   livraison fournisseur 2].Acheteur, Sum([NC + Déro   livraison fournisseur 2].[Qté NC]) AS [SommeDeQté NC], Sum([NC + Déro   livraison fournisseur 2].[NB produit dérogé]) AS [SommeDeNB produit dérogé]
FROM [NC + Déro   livraison fournisseur 2]
GROUP BY Format([Date réception ],"mm-yyyy"), [NC + Déro   livraison fournisseur 2].Acheteur;




une requete "DATA QL + NC + dérogation"
SELECT [Donnée NC + dérogation].Acheteur, [Donnée NC + dérogation].[SommeDeQté NC] AS [Qté NC], [Donnée NC + dérogation].[SommeDeNB produit dérogé] AS [Qté dérogé], [DATA QL].SommeDeQuantité AS [Qté QL], [Donnée NC + dérogation].[Mois 3] AS Mois, Format([Mois 3],"yyyy") AS Année, "trimestre "+Format([Mois 3],"q-yyyy") AS Trimestre
FROM [DATA QL] INNER JOIN [Donnée NC + dérogation] ON ([DATA QL].[Mois 2] = [Donnée NC + dérogation].[Mois 3]) AND ([DATA QL].Acheteur = [Donnée NC + dérogation].Acheteur);



Et c'est cette dernière requête qui me permet d'obtenir les valeurs dont j'ai besoin
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
2 juin 2020 à 13:51
as-tu une question?
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
2 juin 2020 à 15:33
Ce n'est pas vraiment un question mais du coup j'essaie de paramétrer les formulaire pour qu'il puisse m'afficher les valeurs de la requete mais cela ne fonctionne pas

Quand je définie "DATA QL+ NC + dérogation" comme étant la source du formulaire puis que je paramètre cette même requête pour définir les listes déroulante des dates et acheteur comme critère, j'obtient une page toute verte , le formulaire ne se lance pas
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
2 juin 2020 à 15:43
je ne comprends pas "je paramètre cette même requête pour définir les listes déroulante des dates et acheteur comme critère".
essaie d'être plus factuel et plus concret.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
Modifié le 2 juin 2020 à 16:04
Voici la liste déroulante pour le choix des acheteurs :


Voici la liste déroulante pour le choix de la période
|fancyi



voici comment j'inclus ces listes qui seront défini comme critère ( requete source du formulaire)



à la fin j'obtient une page toute verte
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
Modifié le 2 juin 2020 à 16:35
la requête modifiée avec les critères fonctionne-t'elle bien hors du formulaire?
prends l'habitude de nommer les éléments dont tu parles.
je crois deviner que les deux listes déroulantes dont tu te sers dans la requête sont dans le même formulaire que celui dont la requête est la source? as-tu essayé d'utiliser cette requête comme source d'un autre formulaire?

"à la fin j'obtient une page toute verte": décris comment tu fais pour obtenir cette page.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
3 juin 2020 à 09:18
il n'y a qu'un seul formulaire dans ma base de donnée je n'ai donc essayer avec un autre

La page du formulaire devient toute verte parce qu'il y a un problème au niveau de la requete source (DATA QL+ NC + dérogation)

Ce problème c'est que :
- les listes déroulantes se basent sur la requete source et y sont définies en tant que critère
- la requete source attend les ordres des critère pour afficher des valeurs

-puisque aucune valeur n’apparaît dans la requête source les listes déroulante ne s'affichent pas
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
Modifié le 3 juin 2020 à 09:52
la requête modifiée avec les critères fonctionne-t'elle bien hors du formulaire?

"les listes déroulantes se basent sur la requête source et y sont définies en tant que critère"
très bizarre, la même requête sert à peupler les listes déroulantes et utilise les listes déroulantes comme critère de sélection?
moi je ferais deux requêtes distinctes.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
3 juin 2020 à 10:37
j'ai justement essayé avec 2 requetes distinctes mais j'obtient ce résultat :


la requete source se base sur "DATA QL + NC + dérogation 2"

J'ai retiré les critère sur la requete source pour que le formulaire s'affiche
Les listes déroulantes se basent sur la requete source



je les utilise comme critère pour la requete "DATA QL + NC + dérogation" cela fonctionne me permet d'avoir le résultat désiré:


Mais le résultat ne s'affiche toujours pas dans le formulaire et j'obtient la première image, voici le paramétrage des cadres (zone de texte)
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
3 juin 2020 à 14:51
comme déjà demandé, prends l'habitude de nommer les éléments dont tu parles.
cela me permettra de comprendre ce que tu expliques.

un exemple d'explication plus compréhensible:
le formulaire XXX a comme source la requête YYY.
le formulaire XXX comprends les zones AAA et BBB.
voici le texte SQL de la requête YYY.
une seconde requête, nommée ZZZ, dont voici le texte SQL, est utilisée pour ...
...

moi j'essaierais ceci:
un premier formulaire qui permet à l'utilisateur de choisir les critères de sélections dans les listes déroulantes.
un second formulaire qui utilise comme source une requête utilisant les critères de sélection choisis dans le premier formulaire.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
3 juin 2020 à 16:09
Merci de l'idée mais je vais rester sur la base d'un seul formulaire.Je ne serais pas le seul utilisateur de la base et souhaite qu'il y ait le moins d'intéractions possible à faire .
Je reste convaincu qu'il y possibilité de faire le choix des critères et l'affichage du résultat sur le même formulaire.
Je vais poursuivre mes essais mais pour l'instant ça ne fonctionne pas
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
3 juin 2020 à 16:28
je suggère de tester avec deux formulaires, pour vérifier que tu maîtrises la technique de base, avant de passer à un seul formulaire.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
5 juin 2020 à 14:46
Bonjour , donc pour petite mise à jour le processus d'utilisation de 2 formulaire fonctionne bien.
J'arrive à obtenir les valeurs de la sélection des formulaires

J'ai configuré la requête pour qu'elle puisse prendre en compte soit l'année ,soit le trimestre soit le mois


pour le choix d'un acheteur + d'un mois particulier j'obtiens donc le résultat suivant :


qui va ensuite se répertorier dans le formulaire acheteur résultat de la façon suivante :

Cependant la méthode ne fonctionne pas avec le choix d'une année ou d'un trimestre , la requète n'étant pas regroupé à cet effet plusieurs ligne détaillant les mois apparaissent .
le formulaire quand à lui ne sait pas quelle ligne choisir et affiche la fameuse ligne verte.
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
5 juin 2020 à 15:54
quel genre de regroupement souhaites-tu réaliser?
je ne vois pas de regroupement dans la requête.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
11 juin 2020 à 14:19
Bonjour , je sais que par exemple
- Pour obtenir les résultat pour un mois donnée la requête doit contenir les tables

Globalement je peux obtenir les résultats pour un trimestre donnée mais uniquement si les tables je n'utilise pas les tables mois et année en même temps.

Voici la composition de la requête "acheteur (résultat)" :


Je vais par exemple choisir une l'année 2018 , dans le formulaire de choix :


et voici le résultat qui va s'afficher pour la requete "acheteur (résultat) " :



le formulaire de résultat est conçu pour afficher une seule ligne , il ne sait donc pas quel ligne afficher.il peut regrouper les caractère 2018 , mais Il ne peut pas regrouper les différents trimestres et mois qui possèdent des caractères différents .

cette configuration ne fonctionne qu'avec le choix d'un mois en particulier
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
Modifié le 11 juin 2020 à 14:33
tu n'as pas expliqué quel regroupement tu voulais réaliser: quel résultat attends-tu, à la place de l'ensemble des lignes que tu obtiens?
tu n'as pas utilisé, dans la requête, la technique de regroupement.
merci de partager les sources SQL des requêtes.
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
15 juin 2020 à 11:58
bonjour, voici le lien de la nouvelle base de donnée.

https://onedrive.live.com/redir?resid=B98E0DB19BA3A0B3!3523&authkey=!AN0jEXCQG95zjg4&e=vueA0s

Vous verrez que le modèle fonctionne avec le choix d'un acheteur et du mois ,le formulaire affiche les bonnes valeur. Mais pas avec acheteur et son trimestre ou de l'année car la requete "DATA acheteur résultat" n'est pas regroupé en une seule ligne.

Tout cela parce qu'un trimestre apparait plusieurs fois dans l'année , mais qu'un mois n'apparait qu'une seule fois
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
15 juin 2020 à 12:23
quel résultat attends-tu, à la place de l'ensemble des lignes que tu obtiens?
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
15 juin 2020 à 13:06
je souhaite que les valeurs s'affichent dans "formulaire acheteur" quand je choisi un trimestre et un nom dans le formulaire "acheteur choix"
Le processus fonctionne déja avec le choix d'un mois mais pas avec le choix d'un trimestre ou d'une année
Pour l'instant si j'essaie avec une année ou un trimestre le formulaire ne m'affichera que les valeurs du premier mois de l'année ou du trimestre alors que je souhaite obtenir la somme de ce trimestre/année
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
15 juin 2020 à 13:39
finalement, tu précises que tu veux obtenir la somme!
la requête DATA acheteur résultat ne fait aucune somme, ne devrais-tu pas corriger cela?
par exemple:
SELECT sum([DATA ACHETEUR FINAL].[Qté QL]),
sum([DATA ACHETEUR FINAL].[Qté NC]),
sum([DATA ACHETEUR FINAL].[Qté dérogé]),
sum([DATA ACHETEUR FINAL].[NB de livraison]),
sum([DATA ACHETEUR FINAL].[NB de livraison NC])
FROM [DATA ACHETEUR FINAL]
WHERE ((([DATA ACHETEUR FINAL].Acheteur)=[Formulaires]![Acheteur choix]![acheteur]) AND (([DATA ACHETEUR FINAL].Mois)=[Formulaires]![Acheteur choix]![mois])) 
OR ((([DATA ACHETEUR FINAL].Acheteur)=[Formulaires]![Acheteur choix]![acheteur]) AND (([DATA ACHETEUR FINAL].Année)=[Formulaires]![Acheteur choix]![année])) 
OR ((([DATA ACHETEUR FINAL].Acheteur)=[Formulaires]![Acheteur choix]![acheteur]) AND (([DATA ACHETEUR FINAL].Trimestre)=[Formulaires]![Acheteur choix]![trimestre]));
0
auguste.q Messages postés 23 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 15 juin 2020
15 juin 2020 à 17:05
Merci et en effet j'avais déja réalisé la solution que vous venez de proposer je ne l'ai au départ pas sélectionné car elle n'affiche pas la période sur le formulaire , il n'y a pas de repère quand à l'année/trimestre/mois pour vérification
Je vais trouver un moyen pour l'ajouter
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
15 juin 2020 à 19:09
bizarre que la période ne soit pas présente, ne suffit-il pas de les reprendre des champs utilisés pour la sélection?
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
21 sept. 2020 à 10:30
peux-tu donner suite, ou marquer cette discussion comme résolue?
0