OK, troisième fois en essayant d'écrire ceci. Essentiellement, j'ai besoin de faire une requête qui peut vérifier dans une table et m'assurer qu'une valeur dans chaque enregistrement n'est PAS égale à une valeur dans un enregistrement d'une requête

Aperçu

La requête 1 recherche parmi les réservations où: Date de début <['Date de fin'] ET Date de fin> ['Date de début'] affichant le BID (ID de réservation) et le VID (ID du véhicule)

La requête 2 effectue à nouveau une recherche dans les réservations mais supprime tous les enregistrements qui ont le même VID que les résultats de la requête 1

Le problème se produit là où dans la requête 2, si plus d'un résultat est affiché dans la requête 1, alors il affiche simplement la table des réservations entière.

J'utilise actuellement:

Field:    VID
Table:    Bookings
Criteria: <>[Query1].[VID]

J'essaie de comprendre cette méthode depuis 2 mois maintenant et je ne suis toujours pas allé plus loin. toute méthode que j'essaie d'accomplir la tâche ne fonctionne que dans certains cas.

Essentiellement, j'essaie de créer une requête pour voir si un véhicule est disponible à la location pour une plage de dates spécifique.

Toute aide est vraiment appréciée.

Merci d'avance

0
George Williams 16 janv. 2017 à 21:01

2 réponses

Meilleure réponse

Il serait utile de voir vos tableaux. Je suppose que votre tableau des réservations indique quand les véhicules ont été réservés pour la location? Alors, avez-vous un tableau distinct des véhicules? Si tel est le cas, pour voir quels véhicules sont disponibles à la location pour une plage de dates donnée, ce dont vous avez vraiment besoin est de sélectionner les entrées du tableau Véhicules où le VID ne se trouve pas dans [Requête 1]. Ce serait écrit comme:

select * from Vehicles where VID Not In (select VID from Query1)
0
Skippy 16 janv. 2017 à 21:43

Il est facile de transformer ces choses en une machine Rube Goldberg si vous ne faites pas attention. Il me semble que c'est un processus que vous utilisez pour garantir l'intégrité des données dans votre base de données? Si tel est le cas, je recommanderais d'automatiser ce processus par quelques méthodes différentes:

  • Si vous utilisez le backend SQL, définissez une instruction conditionnelle pour le champ VID
  • Si la table est dans Access, utilisez la règle de validation sous
    section des propriétés pour le champ souhaité
  • Ou bien, ayez une clé composite définie pour les deux champs.
0
Steve W 16 janv. 2017 à 21:38