Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Ciao Claudio,
e in Criterio per idCriterio = 1 cosa c'è? Supponendo ci sia Like "G?????B*" Or (Quantità.VP) Like "G?????C*"
la query diventerebbe :
INSERT INTO [Riepilogo da Macro] ( Mese )
SELECT 2 AS mese
FROM Quantità LEFT JOIN [Data Validazione] ON Quantità.VP = [Data Validazione].VP
WHERE (((Quantità.VP)= Like "G?????B*" Or (Quantità.VP) Like "G?????C*" ) AND ((2-[Mese Riferimento])>0))
GROUP BY 2; e quantomeno ci sarebbe un uguale di troppo.
Semplificando il tuo esempio se in Criterio metto G?????B*
e trasformo la query così:
INSERT INTO [Riepilogo da Macro] ( Mese )
SELECT 2 AS mese
FROM Quantità LEFT JOIN [Data Validazione] ON Quantità.VP = [Data Validazione].VP
WHERE (((Quantità.VP) like DLookUp("criterio","criteri","idcriterio=1")) AND ((2-[Mese Riferimento])>0))
GROUP BY 2;
dovrebbe funzionare.
Sostanzialmente dovresti separare ciascun criterio e la tua query originale diventerebbe
INSERT INTO [Riepilogo da Macro] ( Mese )
SELECT 2 AS mese
FROM Quantità LEFT JOIN [Data Validazione] ON Quantità.VP = [Data Validazione].VP
WHERE (((Quantità.VP) Like DLookUp("criterio","criteri","idcriterio=1") Or (Quantità.VP) Like DLookUp("criterio","criteri","idcriterio=2") Or (Quantità.VP) Like DLookUp("criterio","criteri","idcriterio=3")) AND ((2-[Mese Riferimento])>0))
GROUP BY 2;
avendo messo in
idCriterio = 1 **** G?????B*
idCriterio = 2 G?????C*
idCriterio = 3 G?????D*
ma francamente non vedo il vantaggio di usare questo metodo rispetto all'originale a meno che gli stessi criteri non siano usati in tante query diverse e poi, per modificare i criteri di filtro basterà modificare i dati nella tabella Criteri senza dover modificare le query