Requête de requêtes

Duracell

XLDnaute Nouveau
Bonjour,
Pour mieux comprendre ma question, vous trouverez ci-joint les images de ma base de de mes requêtes.

Mon but est de plannifier des tests subit par mes produits.
Ces tests sont stockés dans la table OveralMigrations.

Dans ma requête TestConditionsRq, j'ai réuni tous les tests à faire pour certifier mes produits conforme. Ils sont subis par une TestStructure, effectué avec un simulant. J'ai précisé les conditions de température et de temps.

Dans ma requête TestPlanningRq, j'ai réuni les tests effectués qui sont utiles à la conformité de mes produits (en fonction uniquement de la TestStructure et du simulant). J'ai créé un champ NextTest qui donne la date butoir de renouvellement de ce test (délai de 5 ans=1826 jours). Le dernier champ affiche "test à faire" lorsque la date butoir est dans moins de trois mois (91 jours).


Mon but est donc de créer une requête NextTestRq recoupant ces deux résultats de la manière suivante:

-afficher les tests qui ne sont pas en commun entre les deux requêtes précedentes (structure et simulant). Afficher les conditions de température et de temps contenu dans TestConditionsRq. Le dernier champs que l'on nommera NextTest doit afficher la date du jour (date()).

-afficher en plus les tests déja effectués qui ont des conditions de température inférieures à celles nécessaires ([TestPlanningRq]![OMnum]<[TestConditionsRq]![MaxDeOMNum]). Afficher les conditions de température et de temps contenu dans TestConditionsRq. Le dernier champs que l'on nommera NextTest doit afficher la date du jour (date()).

-afficher les tests communs aux deux requêtes et ayant été réalisés dans des conditions de température égales ou supérieures à celles nécessaires et dont la date butoir est dans moins de trois mois. Afficher les conditions de température et de temps contenu dans TestConditionsRq. Le dernier champs que l'on nommera NextTest doit afficher la date butoir.


Si ces explications sont incopréhencibles, dites le moi.

Pouvez-vous m'aider?

Merci
 

Pièces jointes

  • base10-08-09.jpg
    base10-08-09.jpg
    34.9 KB · Affichages: 103
  • TestConditionsRq.jpg
    TestConditionsRq.jpg
    47 KB · Affichages: 84
  • TestPlanningRq.jpg
    TestPlanningRq.jpg
    38.1 KB · Affichages: 79
Dernière édition:

Duracell

XLDnaute Nouveau
Re : Requête de requêtes

Re,
J'ai résolu les deux derniers points. Le premier reste un problème:

-afficher les tests (même TestStructure associée au même simulant)qui ne sont pas en commun entre les deux requêtes précedentes, c'est-à-dire qui sont contenu dans la requête TestConditionsRq et pas dans la requête TestPlanningRq.

C'est a troisième ligne de critères qui pose problème: ça m'affiche plusieurs fois les mêmes tests. Pourquoi?

Merci
 

Pièces jointes

  • NextTestRq.jpg
    NextTestRq.jpg
    35.5 KB · Affichages: 86
Dernière édition:

chris

XLDnaute Barbatruc
Re : Requête de requêtes

Bonjour

ll faut que chacune des requêtes contiennent la clé primaire : a priori Teststructure + simulant doivent être OK
Il faut dans la requête établir deux relations entre chacun de ces 2 champs des deux requêtes
Puis double cliquer sur ces lignes et orienter la relation dans le même sens.
Pour les critères mettre null (avec 2 L) dans les colonnes TestStructure et simulant issus de la requête se trouvant côté pointe des flèches.
Tu places les champs dont tu as besoin.

C'est ce qu'on appelle un requête de non correspondance (tu peux aussi le faire avec l'assistant).

Tu auras la moitié de la réponse. Appelons cette requête R1
Pour l'autre moitié, R2, il faut faire un seconde requête en orientant la relation dans l'autre sens et adaptant les critères en conséquence.
Pour les autres champs bien placer les même champs dans le même ordre.

Tu as intérêt à ajouter un champ à la requête pour identifier le coté servant de référence.

Ensuite il faut une requête union pour cumuler les 2 requêtes R1 et R2.
Lors de la création de la requête fermer le fenêtre sans ajouter de table puis passer en mode SQL et là taper :
table R1 UNION ALL table R2;
 

Duracell

XLDnaute Nouveau
Re : Requête de requêtes

Bonjour,

Merci Chris pout ton aide.
J'ai établi les relations orientées comme tu m'as dit. En entrant null sur une des ligne de critère et les autres critères sur les autres ligne de cette même requête, ça fonctionne très bien.

Merci
 
Dernière édition:

Duracell

XLDnaute Nouveau
fonction VraiFaux

Bonjour,

Lorsque j'utilise la fonction VraiFaux avec un regroupement, si la condition est vrai les enregistrements apparaissent en double: une fois avec le résultat si vrai et une autre fois avec le résultat si faux.

Exemple:
TestNextDate: VraiFaux([TestConditionsRq]![TestStructure]=[TestPlanningRq]![TestStructure] Et [TestConditionsRq]![Simulant]=[TestPlanningRq]![Simulant] Et ([TestPlanningRq]![NextTest]-Date())<91 Et [TestConditionsRq]![MaxDeOMNum]<=[TestPlanningRq]![OMNum] Et ([TestPlanningRq]![NextTest]-Date())>0;[TestPlanningRq]![NextTest];"to test now")
pareil pour cet autre exemple:
Expr1: VraiFaux([IngredientsProperties]![IngredientType]="barrier";"contain a barrier material";"test priority")
Quelqu'un peut-il m'aidez s'il vous plait?

Merci
 

chris

XLDnaute Barbatruc
Re : Requête de requêtes

Bonjour
Sans voir la requête difficile de répondre. Mais de toute évidence il manquent les relations entre les tables ou Requêtes.
Les relations remplacent les critères teststructure<>teststructure etc
et évitent le vrai faux qui n'a pas ce rôle.

Dans le post précédent tu écris
"En entrant null sur une des ligne de critère et les autres critères sur les autres ligne de cette même requête, ça fonctionne très bien"

Attention sur des lignes différentes cela fait un OU et non un ET : les requêtes de non correspondance utilisent très rarement le OU.
Là aussi pas besoin des critères teststructure<>teststructure etc.
 

Duracell

XLDnaute Nouveau
Re : Requête de requêtes

Re,

Mon but est de tout faire avec le moins de requête possible pour ne pas m'embrouiller.
Voici une fonction VraiFaux qui ne fonctionne pas bien:

Expr1: VraiFaux([IngredientsProperties]![IngredientType]="barrier";"contain a barrier material";"test priority")

Ci-joint la requête dans laquelle elle se trouve.

Quel est le problème?

Merci
 

Pièces jointes

  • TestProductsRq.gif
    TestProductsRq.gif
    10.8 KB · Affichages: 98
Dernière édition:

chris

XLDnaute Barbatruc
Re : Requête de requêtes

Bonjour

A priori cette formule sert à créer une expression : dérouler la liste Regroupement et remplacer par Expression

Sinon il y a peut-être un problème avec l'orientation de la relation entre Articles et Internal Layer
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
370
Réponses
0
Affichages
246

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA