Comment faire pour utiliser un autre champs de la table comme un des critères pour MS Access
C'est le MS Access
liés à la requête.
J'ai un tableau avec trois colonnes: FName, FValue and VDate
dans MS Access.(Le tableau est assez grand, mais l'exemple suivant est pour la référence.)
!http://postimg.org/image/bx0grwoa3/
Maintenant je veux obtenir un type de requête de sortie: Obtenir le minimum des valeurs trimestrielles pour chaque nom unique. Par exemple:
!http://postimg.org/image/je1w7gdi1/
Jusqu'à présent, je suis en mesure d'obtenir la sortie d'un trimestre par codés en dur critères, en utilisant les éléments suivants (En MS Access)
Chaîne SQL est:
SELECT Table.FName, Min(Table.FValue) AS MinOfFValue, First(Table.VDate) AS FirstOfVDate
FROM [Table] LEFT JOIN [Table] AS Table_1 ON Table.FValue = Table_1.FValue
WHERE (((Table.VDate)>#3/31/2014# And (Table.VDate)<#7/1/2014#))
GROUP BY Table.FName;
Maintenant, au lieu de le mettre date codée en dur, je veux les dates d'être une partie d'un tableau où le nom de quartier, à partir de la date et de dates sont là et l'Accès prend un par un et de donner le résultat souhaité.
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Le 2ème problème est un peu plus difficile que la 1ère. Mon approche serait d'utiliser les 3 requêtes distinctes pour obtenir la réponse:
Requête1 retourne un enregistrement pour chaque enregistrement dans la table d'origine, en ajoutant de l'année et le trimestre de l'quarts de table. Notez qu'au lieu d'utiliser les quarts de table, vous pouvez tout aussi facilement calculer l'exercice et du trimestre de la date.
Query2 utilise les résultats de la Requête1 et trouve les valeurs minimales dont vous avez besoin:
Query3 correspond aux résultats de la Requête1 et Query2 de montrer que les données dont la valeur minimale a été atteinte. Notez que j'ai fait cette une Somme de requête et d'Abord utilisé(VDate), assumining que la valeur minimale peut avoir eu lieu plus d'une fois et vous avez besoin seulement la 1ère fois que c'est arrivé.
Il y a probablement une manière intelligente de faire tout ça en une seule requête, mais c'est la façon généralement de résoudre des problèmes similaires.
Faire de nouvelles tables "quartiers" avec des champs pour l'Année, en T, de Début et de Fin. De début et de Fin sont des champs date/heure:
Ensuite utiliser cette requête:
Remarque - il n'y a pas de jointure entre les deux tables dans la requête.
where
clause.