[Risolto] Tabelle in relazione: query vuota se campo vuoto
Inviato: sabato 4 luglio 2020, 11:55
Salve di nuovo!
Dalle tabelle, ai formulari, adesso sono alle query/ricerche sulla base di dati.
Sicuramente ho commesso degli errori nella progettazione, che adesso stanno venendo a galla e, in qualche modo, devo cercare di porre rimedio.
Cercherò di spiegare la questione nel modo più chiaro, anche se la vedo un po' complessa (per me).
Ho due tabelle, poste in relazione 1 a molti.
La tabella principale (1) riguarda il singolo fascicolo/procedimento; la tabella secondaria (n) considera le varie fasi del procedimento, tante nel tempo, in cui il fascicolo può trovarsi.
Nella tabella principale vi sono due campi importanti: pratica correntemente attiva e pratica da gestire (entrambi di tipo boolean). Quando sono tutti e due su "sì" la query mi deve estrarre il fascicolo, con tutte le fasi del procedimento nel tempo succedutesi (in futuro proverò ad estrarre solo l'ultima fase, quella più recente).
Questa è l'immagine della struttura della query: Alla fine ho risolto, però volevo condividere cosa ho combinato per arrivare alla conclusione per me temporaneamente soddisfacente, così da capire dove ho sbagliato, perché da qualche parte ho sbagliato.
Infatti, lanciata la query ottenevo come risultato soltanto i fascicoli/procedimenti per cui vi era stato un movimento nella tabella secondaria (molti) dello stato del procedimento. I fascicoli, sebbene correnti e da gestire, che non avessero avuto nella tabella secondaria in relazione (molti) alcun record non venivano estratti.
Sono dunque intervenuto, attraverso un formulario appositamente creato, sulla tabella secondaria in relazione (molti) per inserire, ad esempio, come stato del procedimento il primo valore della casella di riepilogo associata al campo, che nel caso di specie è un valore vuoto-nullo. Fatto questo e lanciata nuovamente la query ho visualizzato anche i record principali lato "1" che sul lato "molti (n)" non avevano specifici stati del procedimento (meglio: avevano come stato del procedimento il valore "vuoto").
Ho pensato allora che introducendo un valore di default "vuoto" nel campo "stato del procedimento", definito come "Testo [VARCHAR]", potesse risolvere la questione. Tuttavia non ho compreso effettivamente quale parametro passare: '', NULL o EMPTY?
Ho cercato di decifrare il post [Solved] Set a default Value as a Blank Space, ma mi sono perso.
Nella realtà, e concludo riassumendo, può capitare che io inserisca ogni informazione relativa al fascicolo, spunti i campi booleani "pratica correntemente attiva" e "pratica da gestire", ma nulla sia immediatamente inserito nella tabella secondaria (in relazione "molti").
Lanciata la query devo poter comunque vedere questo fascicolo/procedimento, sebbene la tabella secondaria non sia stata ancora popolata con alcun valore.
Grazie ... perché so che l'ho fatta lunga e so pure di non essermi spiegato in maniera semplice.
Dalle tabelle, ai formulari, adesso sono alle query/ricerche sulla base di dati.
Sicuramente ho commesso degli errori nella progettazione, che adesso stanno venendo a galla e, in qualche modo, devo cercare di porre rimedio.
Cercherò di spiegare la questione nel modo più chiaro, anche se la vedo un po' complessa (per me).
Ho due tabelle, poste in relazione 1 a molti.
La tabella principale (1) riguarda il singolo fascicolo/procedimento; la tabella secondaria (n) considera le varie fasi del procedimento, tante nel tempo, in cui il fascicolo può trovarsi.
Nella tabella principale vi sono due campi importanti: pratica correntemente attiva e pratica da gestire (entrambi di tipo boolean). Quando sono tutti e due su "sì" la query mi deve estrarre il fascicolo, con tutte le fasi del procedimento nel tempo succedutesi (in futuro proverò ad estrarre solo l'ultima fase, quella più recente).
Questa è l'immagine della struttura della query: Alla fine ho risolto, però volevo condividere cosa ho combinato per arrivare alla conclusione per me temporaneamente soddisfacente, così da capire dove ho sbagliato, perché da qualche parte ho sbagliato.
Infatti, lanciata la query ottenevo come risultato soltanto i fascicoli/procedimenti per cui vi era stato un movimento nella tabella secondaria (molti) dello stato del procedimento. I fascicoli, sebbene correnti e da gestire, che non avessero avuto nella tabella secondaria in relazione (molti) alcun record non venivano estratti.
Sono dunque intervenuto, attraverso un formulario appositamente creato, sulla tabella secondaria in relazione (molti) per inserire, ad esempio, come stato del procedimento il primo valore della casella di riepilogo associata al campo, che nel caso di specie è un valore vuoto-nullo. Fatto questo e lanciata nuovamente la query ho visualizzato anche i record principali lato "1" che sul lato "molti (n)" non avevano specifici stati del procedimento (meglio: avevano come stato del procedimento il valore "vuoto").
Ho pensato allora che introducendo un valore di default "vuoto" nel campo "stato del procedimento", definito come "Testo [VARCHAR]", potesse risolvere la questione. Tuttavia non ho compreso effettivamente quale parametro passare: '', NULL o EMPTY?
Ho cercato di decifrare il post [Solved] Set a default Value as a Blank Space, ma mi sono perso.
Nella realtà, e concludo riassumendo, può capitare che io inserisca ogni informazione relativa al fascicolo, spunti i campi booleani "pratica correntemente attiva" e "pratica da gestire", ma nulla sia immediatamente inserito nella tabella secondaria (in relazione "molti").
Lanciata la query devo poter comunque vedere questo fascicolo/procedimento, sebbene la tabella secondaria non sia stata ancora popolata con alcun valore.
Grazie ... perché so che l'ho fatta lunga e so pure di non essermi spiegato in maniera semplice.