Risolto ricerca valore da più campi di una tabella

marbatt

Utente abituale
9 Luglio 2017
100
16
Genova
2016
0
Buongiorno
In una tabella che riporta l'elenco di corsi di formazione che si strutturano su quattro date, devo filtrare tutti i corsi all'interno di un intervallo (ad esempio un mese), definito da due date
La tabella è strutturata in questo modo:
Corso(chiave primaria)campo testo
Lezione1 campo data
Lezione2 campo data
Lezione3 campo data
Lezione4 campo data
Se ad esempio l'intervallo è tra il 01/10/2020 e 31/10/2020 voglio evidenziare per ogni data all'interno di quell'intervallo, tutti i corsi presenti in quel giorno.
Grazie per i consigli
 

E. Santamato

Utente abituale
26 Gennaio 2020
124
30
Milano
2010
15
Buongiorno M @marbatt e forum
In prima battuta ed in modo grezzo,l'elenco dei corsi tra 2 date può essere determinato con SQL per mezzo dell'operatore union:
SQL:
PARAMETERS DataIni DateTime, DataFine DateTime;
SELECT * From qryLez1  WHERE (((Lezione1) Between [DataIni] And [DataFine]))
UNION ALL
SELECT * From qryLez2  WHERE (Lezione2 Between [DataIni] And [DataFine])
UNION ALL
SELECT * From qryLez3  WHERE Lezione3 Between [DataIni] And [DataFine]
UNION ALL SELECT * From qryLez4  WHERE Lezione4 Between [DataIni] And [DataFine];
Vedere la query "qryLezioni" nell'allegato.
Credo sia però necessario sapere l'utilizzo della richiesta (form, report ecc) per affinare l'interfaccia
l'Enzo
 

Allegati

marbatt

Utente abituale
9 Luglio 2017
100
16
Genova
2016
0
ti ringrazio per la puntuale risposta..
In realtà avevo già fatto la stessa union che correttamente riporta tutti i corsi nell'intervallo selezionato
Io cercavo una cosa differente, ossia, riportare per ogni data presente all'interno dell'intervallo i corsi che si fanno in quel giorno (es il 20/10 troviamo il corso5 lezione 2, ilcorso6 con la lezione1, il corso2 con la lezione3...)
Spero di essermi spiegato meglio
 

marbatt

Utente abituale
9 Luglio 2017
100
16
Genova
2016
0
Credo sia però necessario sapere l'utilizzo della richiesta (form, report ecc) per affinare l'interfaccia
mi serve un report di stampa
 

marbatt

Utente abituale
9 Luglio 2017
100
16
Genova
2016
0
Buonasera allego allora un file di esempio.
Le due tabelle TbAggiornamentiGruppi e TbDescrizioneGruppo sono legate sul campo Gruppo 1 a molti.
la query 1 restituisce i gruppi con le date (3 o 4 a seconda del tipo di gruppo).
Ora io vorrei, definendo un intervallo esterno (da/a) evidenziare (forse è il termine più corretto), per ogni data di quell'intervallo, i gruppi presenti (in qualsiasi giornata) e i relativi partecipanti
 

Allegati

CarlettoFed

Utente abituale
19 Luglio 2017
205
20
Narni
2003
14
Direi che la struttura del database è decisamente da rivedere sia per quanto riguarda la normalizzazione delle tabelle sia per le impostazioni delle proprietà dei campi presenti in esse.
 

E. Santamato

Utente abituale
26 Gennaio 2020
124
30
Milano
2010
15
Buongiorno M @marbatt e forum
Veda se questa modica dell'UNION risponde alle esisgenze:
SQL:
SELECT * From qryLez2_1  WHERE ((Lezione) Between Maschere![Pannello_Controllo]![DataIni].Value  And Maschere![Pannello_Controllo]![DataFine].Value)
UNION ALL
SELECT * From qryLez2_2  WHERE ((Lezione) Between Maschere![Pannello_Controllo]![DataIni].Value  And Maschere![Pannello_Controllo]![DataFine].Value)
UNION ALL
SELECT * From qryLez2_3  WHERE ((Lezione) Between Maschere![Pannello_Controllo]![DataIni].Value  And Maschere![Pannello_Controllo]![DataFine].Value)
UNION ALL
SELECT * From qryLez2_4  WHERE ((Lezione) Between Maschere![Pannello_Controllo]![DataIni].Value  And Maschere![Pannello_Controllo]![DataFine].Value);
Essa è legata alle query relativa.
Meglio visionare la'llegato
l'Enzo
 

Allegati

marbatt

Utente abituale
9 Luglio 2017
100
16
Genova
2016
0
Grazie davvero per la soluzione proposta. Ho implementato alcune query e ho creato il report che mi serviva.
Riporto l'allegato prodotto. Gradirei un parere di E.Santamato e di chi volesse
 

Allegati

E. Santamato

Utente abituale
26 Gennaio 2020
124
30
Milano
2010
15
Buongiorno M @marbatt e forum tutto
Grazie per l'immeritata fiducia.
Da quello che ho capito, nel progetto in questione ci sono 4 "protagonisti":
1 i corsi con i campi data e luoghi ecc;
2 i conduttori con i campi e-mail, cellulare ecc;
3 i partecipanti con i campi e-mail, cellulare ecc;
4 i luoghi o sedi che ricordo di aver intravisto in un post precedente.
Ritengo che ogni "protagonista" deve essere collegato agli altri per mezzo dell'ID.
Inoltre bisogna fare attenzione: ad esempio nella tabella tblUtenti c'è il link diretto ai tblCorsi e questo crea problemi se l'utente frequentasse più corsi. In questi casi si deve ricorrere ad una tabella che indicizza IDCorsi con IDUtenti (tblCorsiUtenti).
Una volta che le informazioni sono correttamente collegate, successivamente con le query si ricostruiscono i legami (record) alla bisogna.

Una bozza da sviluppare in "EsempioconReportV2.accdb"
- tblConduttori inserire gli insegnanti;
- tblUtenti inserire gli utenti;
- tblSedi per le sedi
- tblCorsiUtenti per indicizzare la situazione
Un database richiede, a mio avviso, una progettazione che contempli le varie informazioni ed i legami tra di esse.
l'Enzo
 

Allegati

marbatt

Utente abituale
9 Luglio 2017
100
16
Genova
2016
0
Grazie ancora
In realtà il database originale è strutturato proprio come lei indica
Per velocità ho postato solo un esempio con due tabelle
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!