Formulario con Query con più ricerche
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Formulario con Query con più ricerche
Salve, vorrei poter fare una query dove oltre poter visualizzare per un determinato periodo, posso filtrare anche le altre colonne, tipo sceglimi in un periodo e le persone che hanno come operatore vodafone per esempio. Tutto in un'unica query e come fare poi il formulario di visualizzazine. Grazie
- Allegati
-
- testopenoffice.odb
- (13.17 KiB) Scaricato 177 volte
Ultima modifica di charlie il lunedì 29 giugno 2020, 9:16, modificato 1 volta in totale.
Motivazione: Modificato il titolo
Motivazione: Modificato il titolo
Open Office 4.1.7
Re: Query con più ricerche
Da digitare?
Codice: Seleziona tutto
SELECT "ID", "Nome", "Cognome", "Data di Nascita", "Operatore Telefonico" FROM "Utenti" WHERE "Data di Nascita" >= :Da AND "Data di Nascita" <= :A AND "Operatore Telefonico" = :Operatore ORDER BY "Data di Nascita" ASC, "Cognome" ASC, "Nome" ASC, "Operatore Telefonico" ASC
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Query con più ricerche
Ciao, si da digitare. Del tipo che se scrivo su una sola casella faccio la query per quel valore, se scrivo su un'altra per quell'altro valore. Volendo se scrivo in entrambe le caselle, deve fare la query che rispetti entrambi
Open Office 4.1.7
Re: Query con più ricerche
Ciao, in quel caso la query è un po' più complicata perchè bisogna prevedere la mancata digitazione (NULL):
Codice: Seleziona tutto
SELECT "ID", "Nome", "Cognome", "Data di Nascita", "Operatore Telefonico" FROM "Utenti" WHERE ("Data di Nascita" >= :Da OR :Da IS NULL) AND ("Data di Nascita" <= :A OR :A Is NULL) AND ("Operatore Telefonico" = :Operatore OR :Operatore IS NULL) ORDER BY "Data di Nascita" ASC, "Cognome" ASC, "Nome" ASC, "Operatore Telefonico" ASC
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Query con più ricerche
buongiorno, però mi serve con un formulario dove ci sono le caselle.
Open Office 4.1.7
Re: Query con più ricerche
Si costruisce con pochi clic.
- Allegati
-
- testopenoffice_2.odb
- (20.99 KiB) Scaricato 205 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Query con più ricerche
Scusami, ma se inserisco vodafone nel formulario ricerca, non mi mostra niente. Io vorrei fare con le caselle in modo tale da poter cambiare i filtri quando voglio, non che devo chiudere e riaprire ogni volta.
Open Office 4.1.7
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Query con più ricerche
E comunque, il codice da lei sopra inviato non funziona. Se non inserisco un valore mi da errore.
Open Office 4.1.7
Re: Query con più ricerche
Funziona in LibreOffice, ho dimenticato di testarla in Open Office nel quale ignoro perché non vada (ma non mi preoccupo).
Comunque allego una nuova versione che spero sia più rispondente a quanto hai chiesto.
Comunque allego una nuova versione che spero sia più rispondente a quanto hai chiesto.
- Allegati
-
- testopenoffice_3.odb
- (22.83 KiB) Scaricato 213 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Query con più ricerche
Ciao, è perfetto così. Ora devo provare ad applicarlo sul mio vero database. Puoi farmi una sorta di procedura da seguire?
Open Office 4.1.7
Re: Formulario con Query con più ricerche
- Per prima cosa devi creare una tabella di appoggio (Filtro) con la stessa tipologia dei campi da cercare.
- Su questa tabella si costruisce il MainForm. Io uso questa tecnica (in generale):
- con pochi clic di procedura guidata creo un formulario con i campi di default.
- Poi lo apro in modifica e provvedo a rendere 'apribili' i campi tipo Data, a convertire (clic destro > sostituisci con) i campi tipo Testo e Numerici in Caselle di riepilogo.
- Poi rendo queste ultime 'apribili' e le collego con SQL alle rispettive tabelle da cui attingere i dati.
- Successivamente aggiungo un SubForm (tramite il Navigatore) a forma 'tabellare' (griglia) costruito sulla Query di ricerca con 'parametri' (quelli con i duepunti, es. ":Da". ":A". ":Operatore").
- Il collegamento 'Collega da/Collega per' viene impostato con i nomi campo della tabella Filtro da una parte e con i 'parametri' stessi (senza duepunti) dall'altra, cioè la Query.
- Completa il tutto un pulsante che aggiorna il SubForm ad ogni nuova ricerca
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
Ciao, quindi nella query della ricerca nella where devo analizzare tutte quelle ipotesi?
Open Office 4.1.7
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
poiché nel db reale sono tipo 6-7 le caselle da cui posso ricercare
Open Office 4.1.7
Re: Formulario con Query con più ricerche
Certo, devi prevedere nella tabella Filtro tanti campi quanti sono i campi da cercare (per la data di nascita sono 2 per poter impostare Da ... A) e altrettante condizioni nella query di ricerca.
Un consiglio? Prova ad aggiungerne uno alla volta e verificare ogni volta il risultato.
Un consiglio? Prova ad aggiungerne uno alla volta e verificare ogni volta il risultato.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
Il problema è che bisogna fare una formula matematica per vedere quante condizioni OR devo fare. Non sarà facile. Comunque ho un problema. Mi da questo errore con il db reale.
Open Office 4.1.7
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
Questo è l'errore. Ho controllato e la colonna si chiama proprio così. Dice tipo errore -28
Open Office 4.1.7
Re: Formulario con Query con più ricerche
Da quello che posso capire hai scritto "Reparto " e non "Reparto". C'è uno spazio di troppo.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
Ho risolto questo errore, ma se metto solo reparto mi da un java lang exception.
Codice: Seleziona tutto
SELECT "Storico"."Giorno" AS "Giorno", "Storico"."Reparto " AS "Reparto", "Storico"."Pattuglia" AS "Pattuglia", "Storico"."Capo Pattuglia" AS "Capo Pattuglia", "Storico"."C.E.T.E. (N.)" AS "C.E.T.E. (N.)" FROM "Storico" "Storico" WHERE "Giorno" >= :Da AND "Giorno" <= :A AND "Reparto" = :Reparto OR "Giorno" >= :Da AND "Giorno" <= :A AND :Reparto IS NULL OR "Giorno" >= :Da AND :A IS NULL AND :Reparto IS NULL OR :Da IS NULL AND :A IS NULL AND :Reparto IS NULL OR :Da IS NULL AND "Giorno" <= :A AND "Reparto" = :Reparto OR :Da IS NULL AND "Giorno" <= :A AND :Reparto IS NULL OR :Da IS NULL AND :A IS NULL AND "Reparto" = :Reparto ORDER BY "Storico"."Giorno", "Storico"."Reparto ", "Storico"."Pattuglia", "Storico"."C.E.T.E. (N.)"
Ultima modifica di charlie il martedì 30 giugno 2020, 21:07, modificato 1 volta in totale.
Motivazione: Formattato codice
Motivazione: Formattato codice
Open Office 4.1.7
Re: Formulario con Query con più ricerche
Per favore, formatta il codice che posti fra i tag [/code], altrimenti vengono fuori delle faccine .
Credo tu abbia un po' pasticciato con il codice. Dovrebbe essere:
Ho messo delle parentesi e degli 'a capo' per farlo vedere meglio.
Codice: Seleziona tutto
[code]
Credo tu abbia un po' pasticciato con il codice. Dovrebbe essere:
Codice: Seleziona tutto
SELECT "Storico"."Giorno" AS "Giorno", "Storico"."Reparto " AS "Reparto", "Storico"."Pattuglia" AS "Pattuglia",
"Storico"."Capo Pattuglia" AS "Capo Pattuglia", "Storico"."C.E.T.E. (N.)" AS "C.E.T.E. (N.)"
FROM "Storico" "Storico"
WHERE ("Giorno" >= :Da OR :Da IS NULL)
AND ("Giorno" <= :A OR :A IS NULL)
AND ("Reparto" = :Reparto OR :Reparto IS NULL)
ORDER BY "Storico"."Giorno", "Storico"."Reparto ", "Storico"."Pattuglia", "Storico"."C.E.T.E. (N.)"
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
ciao, anche copiando questo codice mi lancia un java lang exception
Open Office 4.1.7
Re: Formulario con Query con più ricerche
Darti ancora consigli al buio non è il caso. Ci vuole il tuo file.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
SELECT "Storico"."Giorno" AS "Giorno", "Storico"."Reparto " AS "Reparto", "Storico"."Pattuglia" AS "Pattuglia", "Storico"."Capo Pattuglia" AS "Capo Pattuglia", "Storico"."C.E.T.E. (N.)" AS "C.E.T.E. (N.)"
FROM "Storico" "Storico"
WHERE ( "Giorno" >= :Da OR :Da IS NULL )
AND ( "Giorno" <= :A OR :A IS NULL )
AND ( "Reparto" = :Reparto OR :Reparto IS NULL )
ORDER BY "Storico"."Giorno", "Storico"."Reparto ", "Storico"."Pattuglia", "Storico"."C.E.T.E. (N.)"
Se inserisco una sola delle 3 cose mi dice java illegal argument exception
FROM "Storico" "Storico"
WHERE ( "Giorno" >= :Da OR :Da IS NULL )
AND ( "Giorno" <= :A OR :A IS NULL )
AND ( "Reparto" = :Reparto OR :Reparto IS NULL )
ORDER BY "Storico"."Giorno", "Storico"."Reparto ", "Storico"."Pattuglia", "Storico"."C.E.T.E. (N.)"
Se inserisco una sola delle 3 cose mi dice java illegal argument exception
Open Office 4.1.7
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
Purtroppo come puoi anche vedere dai nomi delle colonne, è un db che non posso condividere.
Open Office 4.1.7
Re: Formulario con Query con più ricerche
Fai una copia, cancella tutti i dati delle tabelle e metti 2 o 3 record con dati fittizi.
charlie ha scritto:Per favore, formatta il codice che posti fra i tag, altrimenti vengono fuori delle faccine .Codice: Seleziona tutto
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Formulario con Query con più ricerche
Lascia perdere ....
In LibreOffice funziona tutto, è un problema di Open Office.
Per ora non ho tempo di occuparmi del problema delle differenze fra i due, se vuoi proseguire scarica ed installa LibreOffice.
In LibreOffice funziona tutto, è un problema di Open Office.
Per ora non ho tempo di occuparmi del problema delle differenze fra i due, se vuoi proseguire scarica ed installa LibreOffice.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
Non si può risolvere in nessun modo? Devo per forza usare Open
Open Office 4.1.7
Re: Formulario con Query con più ricerche
Prova ad usare(due apici semplici o apostrofi) al posto di
Fammi sapere, grazie.
Codice: Seleziona tutto
=''
Codice: Seleziona tutto
IS NULL
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Formulario con Query con più ricerche
Fatto delle prove
Codice: Seleziona tutto
=''
Codice: Seleziona tutto
=0
Ma ... con le date?
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Formulario con Query con più ricerche
La soluzione da provare potrebbe essere questa:
Ma le date devono essere nel formato inglese AAAA-MM-GG. Se usate con il formulario non è un problema, il calendario è nel formato consueto.
Codice: Seleziona tutto
SELECT * FROM "Storico"
WHERE ( CAST( "Giorno" AS CHAR ) BETWEEN :DateFrom AND :DateTo OR IFNULL( :DateFrom, '' ) = '' OR IFNULL( :DateTo, '' ) = '' )
AND ( "Reparto" = :Reparto OR :Reparto ='' )
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
-
- Messaggi: 65
- Iscritto il: venerdì 12 giugno 2020, 12:26
Re: Formulario con Query con più ricerche
grazie mille, ci sono riuscito. Volevo sapere, è possibile stampare il formulario con i valori all'interno?
Edit: comunque sto lavorando ad una nuova versione, s puoi aspettare ....
Edit: comunque sto lavorando ad una nuova versione, s puoi aspettare ....
Open Office 4.1.7