Pb pour rentrer un critère sous access
sagittarius9
Messages postés
5
Statut
Membre
-
sagittarius9 Messages postés 5 Statut Membre -
sagittarius9 Messages postés 5 Statut Membre -
Bonjour,
J'ai un pb pour rentrer un critère dans une de mes requêtes ACCESS.
Voici ma situation, j'ai une table principale "Equipements". Chaque ligne est un équipement.
J'ai une autre table "Modèles". Chaque ligne est un modèle qui représente un équipement de la table "Equipements". Il est possible d'avoir plusieurs modèles par équipement. Il y a donc une relation de jointure type 1 entre les deux tables.
Ex:
Table Equipements:
Eq1
Eq2
Eq3
Table Modèles (une colonne pour chaque info)
Mod1 = version 1 de Eq2 Statut ROUGE
Mod2 = version 1 de Eq3 Statut VERT
Mod3 = version 2 de Eq3 Statut ROUGE
Mod4 = version 3 de Eq3 Statut ROUGE
Mod5 = version 2 de Eq2 Statut VERT
Je tente maintenant d'extraire une requête qui me permettrait de donner le statut du dernier modèle (dernière version donc dernière rentrée dans la table Modèles).
En gros avec l'exemple au dessus je cherche à produire une requête qui me sort:
Eq1 Pas de modèle disponible
Eq2 Statut VERT
Eq3 Statut ROUGE
Donc j'ai essayé pas mal de choses sans arriver à faire ce que je veux.
Dans mes requêtes je demande de me sortir grâce à la fonction "Dernier" le dernier N° (clé primaire de la table Modèles) pour chaque entrée dans la table Modèles, mais ensuite impossible de retrouver le statut associé.
D'où ma question, pouvez vous m'aider ? Que dois je rentrer dans les cases critères (ou en SQL) pour faire ce que j'ai besoin ?
Merci pour votre aide, si vous avez besoin d'autres infos dites moi !!
A+
Sagittarius9
J'ai un pb pour rentrer un critère dans une de mes requêtes ACCESS.
Voici ma situation, j'ai une table principale "Equipements". Chaque ligne est un équipement.
J'ai une autre table "Modèles". Chaque ligne est un modèle qui représente un équipement de la table "Equipements". Il est possible d'avoir plusieurs modèles par équipement. Il y a donc une relation de jointure type 1 entre les deux tables.
Ex:
Table Equipements:
Eq1
Eq2
Eq3
Table Modèles (une colonne pour chaque info)
Mod1 = version 1 de Eq2 Statut ROUGE
Mod2 = version 1 de Eq3 Statut VERT
Mod3 = version 2 de Eq3 Statut ROUGE
Mod4 = version 3 de Eq3 Statut ROUGE
Mod5 = version 2 de Eq2 Statut VERT
Je tente maintenant d'extraire une requête qui me permettrait de donner le statut du dernier modèle (dernière version donc dernière rentrée dans la table Modèles).
En gros avec l'exemple au dessus je cherche à produire une requête qui me sort:
Eq1 Pas de modèle disponible
Eq2 Statut VERT
Eq3 Statut ROUGE
Donc j'ai essayé pas mal de choses sans arriver à faire ce que je veux.
Dans mes requêtes je demande de me sortir grâce à la fonction "Dernier" le dernier N° (clé primaire de la table Modèles) pour chaque entrée dans la table Modèles, mais ensuite impossible de retrouver le statut associé.
D'où ma question, pouvez vous m'aider ? Que dois je rentrer dans les cases critères (ou en SQL) pour faire ce que j'ai besoin ?
Merci pour votre aide, si vous avez besoin d'autres infos dites moi !!
A+
Sagittarius9
A voir également:
- Pb pour rentrer un critère sous access
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? ✓ - Forum Word
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
6 réponses
Salut,
si tu peux avoir plusieurs modèles par équipement, alors ta relation doit être 1-n.
Ensuite, pour avoir le 'dernier enregistrement inséré', il n'existe pas de fonction, car un SGBD ne stocke pas les données de manière linéaire, donc il est impossible de savoir à quel endroit dans le table se trouve un enregistrement.
Par contre, tu peux avoir une clé primaire de type numéroauto, qui s'incrémente à chaque ajout de ligne. Il devrait être facile de trouver la plus grande avec la fonction max.
si tu peux avoir plusieurs modèles par équipement, alors ta relation doit être 1-n.
Ensuite, pour avoir le 'dernier enregistrement inséré', il n'existe pas de fonction, car un SGBD ne stocke pas les données de manière linéaire, donc il est impossible de savoir à quel endroit dans le table se trouve un enregistrement.
Par contre, tu peux avoir une clé primaire de type numéroauto, qui s'incrémente à chaque ajout de ligne. Il devrait être facile de trouver la plus grande avec la fonction max.
Ma clé primaire est auto en effet pour les deux tables.
J'ai tenté la fonction Dernier, ça ne marche pas c'est vrai !
Quand j'utilise le critère Max pour le numéro, il me sort quand même toutes les lignes modèles pour chaque équipement, alors que j'écris Opération = Max dans la case critère !
Ce que j'ai besoin c'est détecté la ligne modèle qui a la plus grande clé primaire par équipement, et ainsi coller d'autres champs de cette ligne.
Merci pour ta réponse en tout cas !!
A+
J'ai tenté la fonction Dernier, ça ne marche pas c'est vrai !
Quand j'utilise le critère Max pour le numéro, il me sort quand même toutes les lignes modèles pour chaque équipement, alors que j'écris Opération = Max dans la case critère !
Ce que j'ai besoin c'est détecté la ligne modèle qui a la plus grande clé primaire par équipement, et ainsi coller d'autres champs de cette ligne.
Merci pour ta réponse en tout cas !!
A+
Le problème, c'est que les fonctions last ou max sont des fonctions d'agrégat. Il sera donc impossible de récupérer une valeur autre que celle mise dans la fonction.
Si je mets Max comme critère pour le champ N° de la table Modèles,
il me sort comme résultats tous les Modèles de l'équipement. Je ne comprends pas pourquoi, il devrait me sortir qu'une seule ligne correspondant au numéro Max du champ N° ?
Pourquoi fonctionne-t-il ainsi ?
il me sort comme résultats tous les Modèles de l'équipement. Je ne comprends pas pourquoi, il devrait me sortir qu'une seule ligne correspondant au numéro Max du champ N° ?
Pourquoi fonctionne-t-il ainsi ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question