Buonasera,
se possibile vorrei un vostro parere in merito alla soluzione che ho adottato alla problematica che sto per descrivere.
Ho 3 Tabelle:
tbl_Utenti: ID(Pk-Counter), più altri CampiUtente (non necessitano di essere specificati);
tbl_Servizi: ID(Pk-Counter), IDUtente, Data, più altri Campi riguardanti la tipologia del servizio effettuato dall'utente nella data (non necessitano di essere specificati);
tbl_VariazioniUtente: ID(Pk-Counter), IDUtente, Decorrenza, IndiceVariazione (è un coefficente numerico che, a decorrere dalla data indicata in 'decorrenza', deve essere attribuito all'utente quando svolge il servizio... nel corso del mese l'utente ha almeno 2 o 3 variazioni):
tbl_Utenti è collegata con relazione uno a molti con le altre due tabelle;
La mia necessità era visualizzare in una query l'IDUtente , la data del servizio e l'indicevariazione posseduto in quella data.
la query "qry_StatusUtente" che ho realizzato ha il seguente predicato SQL
SELECT DCount("[ID]","tbl_VariazioniUtente","[ID]<=" & [tbl_VariazioniUtente]![ID] & " and [IDUtente]=" & [tbl_VariazioniUtente]![IDUtente]) AS Progressivo, IIf(IsNull(DLookUp("[Decorrenza]","qry_StatusUtente","[Progressivo]=" & [Progressivo]+1 & " and [IDUtente]=" & [IDUtente])),Date(),DLookUp("[Decorrenza]","qry_StatusUtente","[Progressivo]=" & [Progressivo]+1 & " and [IDUtente]=" & [IDUtente])-1) AS DecorrSupp, tbl_VariazioniUtente.IDUtente, tbl_VariazioniUtente.Decorrenza, tbl_VariazioniUtente.IndiceVariazione
FROM tbl_VariazioniUtente;
La Query serve a determinare per ogni utente la decorrenza e la scadenza temporale in cui possiede un determinato coefficente
esempio:
l'utente 1 dal 1 al 10 ha il coeff 1
l'utente 1 dal 11 a "oggi" ha il coeff 2
l'utente 2 dal 1 al 5 ha il coeff 3
l'utente 2 dal 6 a "oggi" ha il coeff 3
ecc.
Poi in un'altra query basata su tbl_Servizi e Qry_StatusUtente determino il coefficente filtrando il campo data con 'between [Decorrenza] and [DecorrSupp]
esempio:
l'utente 1 in data 5 ha il coeff 1
l'utente 2 in data 12 ha il coeff 3
C'è modo di migliorarla? esistono altre vie? ... lo scrivo perché a causa del numero di utenti e delle variazioni mensili che deve elaborare ci mette un po di tempo...
Grazie.
ps:
Se avete suggerimenti per il titolo lo cambio... non mi è venuto in mente niente di meglio