[Risolto] Filtrare risultati formulari
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
[Risolto] Filtrare risultati formulari
Ciao ragazzi
ho realizzato una pagina in formulari, dove , su due tabelle diverse ottengo dei dati.
Dal momento che sono tanti dati, vorrei aggiungere una casella per poter digitare il valore da trovare.
Non capisco il meccanismo e quindi non riesco.Vi chiedo aiuto.
Allego il file.
Grazie.
ho realizzato una pagina in formulari, dove , su due tabelle diverse ottengo dei dati.
Dal momento che sono tanti dati, vorrei aggiungere una casella per poter digitare il valore da trovare.
Non capisco il meccanismo e quindi non riesco.Vi chiedo aiuto.
Allego il file.
Grazie.
- Allegati
-
- Tabella Semplice per Permutazioni.odb
- (148.75 KiB) Scaricato 76 volte
Ultima modifica di g_federico_g il mercoledì 23 marzo 2022, 22:33, modificato 1 volta in totale.
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)
Re: Filtrare risultati formulari
Ciao, nel formulario devi impostare la tabella Filtro come MainForm e la/le query ottenuta/e tramite codice sql come SubForm.
Nell'esempio che allego, ho ipotizzato una ricerca sul campo (A*C)/(B*D).
P.S. ho notato che nelle query ci sono valori con numero di denti = 0
Nell'esempio che allego, ho ipotizzato una ricerca sul campo (A*C)/(B*D).
P.S. ho notato che nelle query ci sono valori con numero di denti = 0
- Allegati
-
- Tabella Semplice per Permutazioni_2.odb
- (157.02 KiB) Scaricato 98 volte
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
Re: Filtrare risultati formulari
Volevo inserire anche gli altri risultati nel filtro di ricerca provando a modificare il mio formulario Risultati Permutazioni a 2 e 4 ingranaggi con FILTRO sulla base di quanto mi hai scritto.... quindi ho creato le relazioni tra filtro e risultati e nell'SQL inserito OR al posto di AND, in modo che , se cerco un valore lo trova O sulla prima colonna, O sulla seconda, O sulla terza...ecc..ecc... pare che funziona. Ma quando vado a vedere l'SQL mi esce Sintax Error.
Inoltre ho notato che se scrivo la ricerca e pigio il pulsante di ricerca, non fa nulla, ma se chiudo il formulario e lo riapro, mi esegue il filtraggio con il valore scritto in precedenza.
SQL = SELECT "RisultatIPermutazione4Ingranaggi".*, "Filtro"."FILTRO", "RisultatIPermutazione4Ingranaggi"."A", "RisultatIPermutazione4Ingranaggi"."B", "RisultatIPermutazione4Ingranaggi"."C", "RisultatIPermutazione4Ingranaggi"."D", "RisultatIPermutazione4Ingranaggi"."(A*B)/(C*D)", "RisultatIPermutazione4Ingranaggi"."(A*C)/(B*D)", "RisultatIPermutazione4Ingranaggi"."(A*D)/(B*C)", "RisultatIPermutazione4Ingranaggi"."(B*C)/(A*D)", "RisultatIPermutazione4Ingranaggi"."(B*D)/(C*A)", "RisultatIPermutazione4Ingranaggi"."(C*D)/(B*A)", "Filtro"."FILTRO" FROM "RisultatIPermutazione4Ingranaggi", "Filtro" WHERE "RisultatIPermutazione4Ingranaggi"."(A*B)/(C*D)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(A*C)/(B*D)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(A*D)/(B*C)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(B*C)/(A*D)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(B*D)/(C*A)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(C*D)/(B*A)" = "Filtro"."FILTRO"
Inoltre ho notato che se scrivo la ricerca e pigio il pulsante di ricerca, non fa nulla, ma se chiudo il formulario e lo riapro, mi esegue il filtraggio con il valore scritto in precedenza.
SQL = SELECT "RisultatIPermutazione4Ingranaggi".*, "Filtro"."FILTRO", "RisultatIPermutazione4Ingranaggi"."A", "RisultatIPermutazione4Ingranaggi"."B", "RisultatIPermutazione4Ingranaggi"."C", "RisultatIPermutazione4Ingranaggi"."D", "RisultatIPermutazione4Ingranaggi"."(A*B)/(C*D)", "RisultatIPermutazione4Ingranaggi"."(A*C)/(B*D)", "RisultatIPermutazione4Ingranaggi"."(A*D)/(B*C)", "RisultatIPermutazione4Ingranaggi"."(B*C)/(A*D)", "RisultatIPermutazione4Ingranaggi"."(B*D)/(C*A)", "RisultatIPermutazione4Ingranaggi"."(C*D)/(B*A)", "Filtro"."FILTRO" FROM "RisultatIPermutazione4Ingranaggi", "Filtro" WHERE "RisultatIPermutazione4Ingranaggi"."(A*B)/(C*D)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(A*C)/(B*D)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(A*D)/(B*C)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(B*C)/(A*D)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(B*D)/(C*A)" = "Filtro"."FILTRO" OR "RisultatIPermutazione4Ingranaggi"."(C*D)/(B*A)" = "Filtro"."FILTRO"
- Allegati
-
- Tabella Semplice per Permutazioni con filtro2.odb
- (157.17 KiB) Scaricato 84 volte
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)
Re: Filtrare risultati formulari
Ciao, il mio formulario, con le tue modifiche, funziona benissimo.
Per modificare i tuoi devi riprodurre questa gerarchia: dove il MainForm è la tabella Filtro e il SubForm la griglia (Campo di controllo tabella 1) collegata al codice SQL. Il pulsante di Aggiornamento deve essere nel SubForm.
Per modificare i tuoi devi riprodurre questa gerarchia: dove il MainForm è la tabella Filtro e il SubForm la griglia (Campo di controllo tabella 1) collegata al codice SQL. Il pulsante di Aggiornamento deve essere nel SubForm.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
Re: Filtrare risultati formulari
Niente, non riesco.
In formulario:
Il filtro funziona solo se scrivo il numero, chiudo e riapro. Alla riapertura mi trova i valori filtrati ma con la schermata aperta il pulsante AGGIORNA non funziona. Devo chiudere e riaprire.
Inoltre (allegho due immagini PRIMA che mi cambi l'SQL e dopo con l'SQL modificato)
Quando creo le condizioni per il filtraggio, funziona, va tutto bene ... chiudo e quando riapro, trovo tutto spostato , vado per controllare l'SQL e mi restituisce l'errore SINTAX ERROR in SQL EXPRESSION.
In formulario:
Il filtro funziona solo se scrivo il numero, chiudo e riapro. Alla riapertura mi trova i valori filtrati ma con la schermata aperta il pulsante AGGIORNA non funziona. Devo chiudere e riaprire.
Inoltre (allegho due immagini PRIMA che mi cambi l'SQL e dopo con l'SQL modificato)
Quando creo le condizioni per il filtraggio, funziona, va tutto bene ... chiudo e quando riapro, trovo tutto spostato , vado per controllare l'SQL e mi restituisce l'errore SINTAX ERROR in SQL EXPRESSION.
- Allegati
-
- Tabella Semplice per Permutazioni con filtro.odb
- (76.9 KiB) Scaricato 87 volte
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)
Re: Filtrare risultati formulari
Ciao, apri il navigatore e vedrai questo schema:
Rifai il formulario da capo usando la procedura guidata:
È molto diverso da quello che ti ho indicato.Rifai il formulario da capo usando la procedura guidata:
- Imposta soltanto la tabella Filtro come MainForm, salva e chiudi il formulario
- Riaprilo in modalità modifica
- Apri il navigatore, clic destro sul MainForm > Nuovo > Formulario
- Clic destro su Formulario, apri la finestra della Proprietà e cambia il nome in SubForm
- Imposta Comando SQL come Tipo Contenuto
- Come Contenuto copia e incolla il codice sql che hai pubblicato in precedenza qui sul forum (oppure usa la procedura guidata che si apre facendo clic sul pulsantino con i puntini che è accanto per rifare il codice sql)
- Poi trascina dalla barra degli strumenti un controllo Griglia (tabella) e imposta i campi attraverso la procedura guidata
- Infine aggiungi il pulsante di aggiornamento.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
Re: Filtrare risultati formulari
Scusami, il "Vanigatore Formulario" dove lo trovo ?
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
Re: Filtrare risultati formulari
Ok lo dovevo attivare su Visualizza ->Barra degli strumenti -> Navigazione Formulario e poi compare l'icona con l'orologino sotto.
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
Re: Filtrare risultati formulari
...Ok sono riuscito a fare qualcosa, la ricerca pare che funziona... se pigio il pulsante mi aggiorna le due tabelle ... ho il problema che mi da errore syntax error appena aperto. A cosa è dovuto ?
- Allegati
-
- NEW Tabella Semplice per Permutazioni con filtro2.odb
- (13.86 KiB) Scaricato 77 volte
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)
Re: Filtrare risultati formulari
Nel codice SQL contenuto nell'ultima riga delle voci del Navigatore, dove c'è un secondo MainForm a cui non è collegato nessun oggetto del formulario (? a cosa ti serve ? lo puoi eliminare) mancano le virgolette finali dopo FILTRO".
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
Re: Filtrare risultati formulari
Hai ragione, non serve a nulla quel secondo MainForm, era il residuo di una prova. L'ho Eliminato. Ora il codice funziona bene con Libreoffice Base 6.1.3.2 (x64).
Solo 2 dubbi:
1) Quando pigo il pulsante deve venire sempre fuori la richiesta di "Vuoi salvare le modifiche" ? O si può automaticcare a si ?
2) Se do il valore "" NULLO nella ricerca, come si fa a visualizzare i risultati senza filtraggio ? Possibile ?
Solo 2 dubbi:
1) Quando pigo il pulsante deve venire sempre fuori la richiesta di "Vuoi salvare le modifiche" ? O si può automaticcare a si ?
2) Se do il valore "" NULLO nella ricerca, come si fa a visualizzare i risultati senza filtraggio ? Possibile ?
- Allegati
-
- NEW Tabella Semplice per Permutazioni con filtro2.odb
- (14.52 KiB) Scaricato 94 volte
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)
Re: Filtrare risultati formulari
- È dovuto alla presenza di 2 subForm, si possono mettere 2 pulsanti, altrimenti ci vuole una macro.
- Si può fare, ma penso sia complicato con la lunghezza del codice sql che ti porti dietro
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 48
- Iscritto il: lunedì 11 settembre 2017, 10:08
Re: Filtrare risultati formulari
Ok, grazie come sempre
RISOLTO TUTTO.
RISOLTO TUTTO.
LibreOffice Versione: 6.1.3.2 (x64) su windows 10 64bit (Home)