Una scoperta casuale che mi fa comodo ma non funziona sempre

Discussioni sulle caratteristiche di database
Rispondi
Stefano V.
Messaggi: 136
Iscritto il: domenica 31 marzo 2019, 15:51

Una scoperta casuale che mi fa comodo ma non funziona sempre

Messaggio da Stefano V. »

Buongiorno al forum faccio sempre tante domande, lo so. E chiedo scusa se disturbo.
Ho un database con un form di ricerca relativo a un Onciario (una sorta di vecchio catasto "allargato anche ad altre notizie") in cui gestisco tre tipi di informazioni:

1)una sorta di "Anagrafe" in cui sono riportati il nucleo famigliare del "contribuente" descrivendo il suo stato civile, la professione, il nome dell'eventuale coniuge il numero e il tipo di persone, ad es figli, nipoti, genitori che convivono e sono a suo carico... (tabella di risultati di sinistra)

2)gli Immobili che sono di proprietà o su cui il contribuente ha diritti di sfruttamento, quasi sempre terreni, con l'indicazione dell'ampiezza, in unità di misura antiche quali tomoli, coppe ecc, il tipo di coltura svolto su di esse ecc. (tabella di risultati di centro)

3)i beni "Mobili" ovvero animali di vario tipo quali ovini, bovini ecc. indicati con decimali perché al fine di evitare duplicazioni se ad es. una mucca è di proprietà a metà con un altro contribuente sarà indicato il valore 0,5 visto che l'altro 0,5 sarà indicato nella pagina relativa all'altro contribuente... (tabella di risultati di destra)

Fatta questa seppur lunga, doverosa premessa, ho per caso digitato %, ma ho visto che funziona anche se metto 0, ad esempio nella casella relativa alla ricerca del numero di ovini, e ho visto che nella relativa tabella di risultati, quella di destra, mi escono tutti i contribuenti che hanno ovini indipendentemente da quanti ciascuno ne possieda.

Questa particolarità (per me) inaspettata mi va benissimo perché ad es. a fini statistici quando si trarranno le conclusioni sullo studio fatto per mezzo del database, potrebbe fare molto comodo sapere in termini assoluti quanti contribuenti possiedono ad es. ovini, anche indipendentemente dal sapere quanti ovini abbia ciascuno.

A questo punto viene la domanda: perché questa stessa "caratteristica" non c'è se ad es. metto 0 o % nella casella "figli M" (figli maschi) se volessi sapere quanti contribuenti hanno figli maschi indipendentemente dal numero che ne abbia ciascuno?

Infatti ad esempio nel db postato ci sono solo due contribuenti dei quali uno ha figli maschi e l'altro no e dunque mettendo 0 o % nell'apposita casella, la tabella di sinistra dovrebbe restituire un record e invece non ne restituisce nessuno.

Siccome le ricerche che governano i subformulari che gestiscono la ricerca Anagrafica e quella dei beni Mobili sono strutturalmente identiche mi chiedo quale sia l'elemento che fa la differenza e non consente il funzionamento uguale di tutti e due i subformulari (di sicuro non è il formato intero o decimale che già provato a uniformare)?

Grazie in anticipo a chi risponderà...
Allegati
Onciario 26 copia.odb
(29.01 KiB) Scaricato 22 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8766
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Una scoperta casuale che mi fa comodo ma non funziona sempre

Messaggio da charlie »

Non sono riuscito a capire qual è il motivo del diverso comportamento, ma ti sottopongo alcune considerazioni.
  1. Mi pare che il formulario non filtri bene i dati. Se ad esempio digito 2 nella casella Figli M, nella prima tabella compaiono correttamente i dati di Amico_di_Carlo che ha 2 figli maschi, ma nelle altre due tabelle compaiono anche i dati di Porzia_Angrisani che figli maschi non ne ha.
  2. La query R_Anagrafe, se eseguita in modalità Modifica (ma non Modifica in vista SQL), manda in tilt LibreOffice e mi costringe ad un arresto forzato.
  3. La stessa query potrebbe essere semplificata con l’uso dell’asterisco (*) al posto dell’elenco di tutti i campi

    Codice: Seleziona tutto

    SELECT * FROM …..
    ed eliminando l’inutile

    Codice: Seleziona tutto

    …. "t_Onciario"."ID_Onciario" = "t_Onciario"."ID_Onciario" AND ....
    (ma non risolve il tilt di LibreOffice)
  4. Altre query possono essere semplificate in modo analogo.
  5. Il fatto di scrivere % nei campi numerici non ha alcun significato. Con qualsiasi carattere digitato, non numerico, si ha il medesimo risultato: la casella cambia subito in 0 (zero) che viene interpretato come fosse NULL ed intercettato da:

    Codice: Seleziona tutto

    OR ( :Var_FIM IS NULL ) 
charlie
macOS 14.2 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Stefano V.
Messaggi: 136
Iscritto il: domenica 31 marzo 2019, 15:51

Re: Una scoperta casuale che mi fa comodo ma non funziona sempre

Messaggio da Stefano V. »

Grazie Charlie,
Riguardo alla prima tua, in effetti lo so. Non sono riuscito a trovare un modo per coordinare le tre ricerche e non te l’ho chiesto perché mi vergognavo a fare tutte queste domande.
Non so se hai idee per una possibilità di soluzione.
La tua seconda: non capisco che problemi abbia la ricerca infatti ora non mi aggiorna l’immissione di nuovi record

Sulla terza: non lo sapevo
Però se metto 0 a qualche campo dell’anagrafe non funziona come null.
Grazie ancora del tuo tempo e scusa per tutte le domande.
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8766
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Una scoperta casuale che mi fa comodo ma non funziona sempre

Messaggio da charlie »

Stefano V. ha scritto: sabato 3 febbraio 2024, 19:15 Non so se hai idee per una possibilità di soluzione.
Sei hai pazienza penso che l'unica maniera sia quella di unificare le tre query in una sola e quindi avere un solo SubForm al posto di tre.
charlie
macOS 14.2 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Stefano V.
Messaggi: 136
Iscritto il: domenica 31 marzo 2019, 15:51

Re: Una scoperta casuale che mi fa comodo ma non funziona sempre

Messaggio da Stefano V. »

charlie ha scritto: domenica 4 febbraio 2024, 19:10
Stefano V. ha scritto: sabato 3 febbraio 2024, 19:15 Non so se hai idee per una possibilità di soluzione.
Sei hai pazienza penso che l'unica maniera sia quella di unificare le tre query in una sola e quindi avere un solo SubForm al posto di tre.
In realtà, ci avevo provato "come evoluzione naturale" ma la query, così come l'avevo impostata, dà risultati duplicati: posto il db Onciario 27 il formulario si chiama f_Ricerche Unite e la query che lo gestisce si chiama R_Unita.

So che si può semplificare la parte iniziale mettendo gli asterischi ma il risultato non cambia (l'ho provato nella R_Unita3 anche se mancano le variabili) perché escono qualcosa come 193 record ed io, invece, vorrei che ne uscissero teoricamente solo 3 per l'anagrafe, + 25 per Immobili +15 per i mobili :shock:

Ah e poi, visto che ci sono, si ripete il problema che se aggiungo qualche nuovo contribuente questo non viene "trovato" nel formulario delle ricerche... continuo a non capire.
Allegati
Onciario 27.odb
(62.83 KiB) Scaricato 18 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8766
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Una scoperta casuale che mi fa comodo ma non funziona sempre

Messaggio da charlie »

Ho messo mano al database facendo alcuni cambiamenti sostanziosi.
Le modifiche sono solo su alcune parti a mò di esempio.
  • Tabelle Filtro e Onciario: i campi Coniugato e Forestiero sono ora tipo Boolean (si/no)
  • Query PROVA: rifatto tutto il codice abbandonando l'uso dei parametri (quelli con i :...) e usando UPPER e LIKE per per i soli campo Testo. Per i numeri e per i boolean ho usato l'uguale (=).
  • Formulario PROVA: ho spostato il pulsante nel SubForm per evitare il messaggio di conferma ogni volta che si fa un cambiamento.
Lo so che è un lavoraccio, ma ti consiglio di seguire l'esempio allegato. Con un pò di pazienza puoi continuare ad adoperare l'impostazione grafica dei tuoi formulari.
Allegati
Onciario 28.odb
(74.19 KiB) Scaricato 21 volte
charlie
macOS 14.2 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Stefano V.
Messaggi: 136
Iscritto il: domenica 31 marzo 2019, 15:51

Re: Una scoperta casuale che mi fa comodo ma non funziona sempre

Messaggio da Stefano V. »

Grazie! Ci metterò del tempo a capire, ma lo farò!
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Rispondi