[Risolto] inserimento di record non previsti.

Discussioni sulle caratteristiche di database
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

[Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Buongiorno, avrei bisogno di un aiuto, sto cercando di sviluppare un DB che mi permetta di associare più corsi ad un frequentatore, ho provato in diversi modi, ma senza nessun risultato, mi piacerebbe trovare il modo di inserire in un "CORSO" precedentemente inserito tramite formulario "INSCORSO" dei frequentatori richiamandoli da tabella "FREQUENTATORI", ho provato con un "ID_FREQUENTATORE" nella tabella "CORSI" tramite delle caselle di riepilogo, ma purtroppo questa soluzione non è adatta alla mia esigenza perché a priori non so mai quanti frequentatori dovrò inserire prima di un corso.
Grazie a chi mi aiuterà.
allego il DB
https://www.dropbox.com/t/mBr7NBKMlHAOs7MX
Ultima modifica di charlie il venerdì 5 febbraio 2021, 6:23, modificato 2 volte in totale.
Motivazione: Argomento spostato, Aggiunta ✔ verde.
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento di record non previsti.

Messaggio da charlie »

Ciao, non so se ho colto la domanda ... :roll:
Una tabella di collegamento con relativi formulario?
Allegati
PROVA_2.odb
(356.26 KiB) Scaricato 145 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Ti ringrazio per l'aiuto, ma sicuramente non mi sono espresso bene, ;) esiste un modo per inserire un corso e sotto vedere chi inserisco nel corso? Dopo l'inserimento del corso e dei frequentatori mi occorrerebbe filtrare il corso e poi stamparlo con tutti i frequentatori del corso richiamato.
grazie :D
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento di record non previsti.

Messaggio da charlie »

Ciao,
credo debbano considerarsi momenti diversi, prima si inserisce un nuovo corso, poi gli si assegnano i partecipanti. Successivamente si possono vedere i partecipanti ad un corso e/o i corsi a cui ciascuno partecipa.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Buongiorno, si grazie ci avevo pensato, la mia difficoltà più grande è creare un modo per stampare corso per corso tramite pulsante senza dover creare ogni volta una ricerca sql per ogni corso... mi potresti aiutare? :roll:
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento di record non previsti.

Messaggio da charlie »

Ciao, facendo una query e poi un report basato sulla stessa ?
Allegati
PROVA_3.odb
(360.68 KiB) Scaricato 137 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Grazie, ottima idea, ruberò qualcosa delle tue idee! :) se ho 100 corsi inseriti, ogni qualvolta manderò in stampa il report mi stamperò tt i corsi.. ho a disposizione 50 corsi. Non esiste un metodo per selezionare e stampare il corso di cui ho bisogno?
grazie
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento di record non previsti.

Messaggio da charlie »

Certo, inserendo un parametro nella query con dei caratteri jolly per facilitare la ricerca.
Allegati
PROVA_4.odb
(362.35 KiB) Scaricato 131 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Buongiorno, grazie mille! :) era proprio quello che mi serviva!! Volendo si può modificare la finestra che compare?
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento di record non previsti.

Messaggio da charlie »

No, purtroppo, è quella della query ed è piuttosto spartana.
Si potrebbe fare ricorrendo alle finestre di dialogo gestite da macro.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

ok ti ringrazio, alle macro non ci arrivo! :cry:
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] inserimento di record non previsti.

Messaggio da charlie »

In effetti c'è un modo senza macro, vedi se ti piace.
Si usa un formulario con una casella neutra (tabella Filtro) su cui scrivere il testo, anche incompleto, del corso che si sta cercando e un pulsante per aggiornare e visualizzare il risultato.
Passando poi al report si trova già il risultato filtrato da una query.
Allegati
Corsi_5.odb
(371.45 KiB) Scaricato 117 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Grazie Charlie, ci smanetto un po' a presto!
LibreOffice 6.4.7 su Windows 10/MacOS
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Buonasera, sono a buon punto con il mio DB, volevo chiederti sempre riferito al DB sopra allegato "Corsi_5", se volessi fare una ricerca per Cognome e Nome per cercare tutti i corsi svolti da un frequentatore, ho provato qualcosa ma nulla... mi puoi aiutare e dare un idea? grazie mille!!!
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] inserimento di record non previsti.

Messaggio da charlie »

Ciao, nel nuovo file ho inserito nuove query, formulari e rapporti per la ricerca per Cognome e per Cognome e Nome (separati da spazio).
Allegati
Corsi_6.odb
(399.59 KiB) Scaricato 72 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Ciao Charlie, ho modificato questa query mettendo in ordine di voto finale ma, per i corsi senza voto, mi dà il Report vuoto, devo usare IFNULL? come posso fare per far creare il report anche senza voto?
Grazie.

Codice: Seleziona tutto

SELECT DISTINCT "A"."GRADO", "B"."COGNOME", "B"."NOME", "B"."DATA", "C"."ENTE" AS "REPARTO DI APPARTENENZA", "D"."VOTO", "E"."CORSO", "E"."INIZIO", "E"."FINE", "E"."NFREQ", "F"."ESITO" FROM "GRADI" AS "A", "FREQUENTATORI" AS "B", "ENTI" AS "C", "ISCRITTI" AS "D", "CORSI" AS "E", "ESITI" AS "F", "FREQUENTATORI" WHERE "B"."ID_GRADO" = "A"."ID_GRADO" AND "B"."ID_ENTE" = "C"."ID_ENTE" AND "B"."ID_FREQUENTATORE" = "D"."FRE_ID" AND "E"."ID_CORSO" = "D"."COR_ID" AND "F"."ID_ESITO" = "D"."ESITO_ID" AND UPPER ( "CORSO" ) LIKE UPPER ( '%' || :Corso || '%' ) ORDER BY ( "VOTO" ) DESC
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] inserimento di record non previsti.

Messaggio da charlie »

Hai aggiunto dei campi che non c'erano, come faccio a verificare ?
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Hai ragione, ti allego il db. :)
https://www.dropbox.com/t/ZI45hoeC9mAyuxW7
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] inserimento di record non previsti.

Messaggio da charlie »

Ci ho messo un bel po' a racapezzarmi con quella query :shock: .
Poi l'ho trascritta in maniera da essere riprodotta anche graficamente. Ho individuato il problema nella relazione in figura e ho potuto farla funzionare facendola diventare una relazione "destra".
In codice, è saltato fuori questo (non molto "leggibile", ma funziona):

Codice: Seleziona tutto

SELECT DISTINCT "GRADI"."GRADO", "COGNOME"."COGNOME", "COGNOME"."NOME", "COGNOME"."DATA", "ENTE"."ENTE" AS "REPARTO DI APPARTENENZA", "VOTO"."VOTO", "CORSI"."CORSO", "CORSI"."INIZIO", "CORSI"."FINE", "CORSI"."NFREQ", "ESITI"."ESITO" FROM { oj "ESITI" RIGHT OUTER JOIN "ISCRITTI" AS "VOTO" ON "ESITI"."ID_ESITO" = "VOTO"."ESITO_ID" }, "FREQUENTATORI" AS "COGNOME", "GRADI", "ENTI" AS "ENTE", "CORSI" WHERE "COGNOME"."ID_GRADO" = "GRADI"."ID_GRADO" AND "COGNOME"."ID_ENTE" = "ENTE"."ID_ENTE" AND "COGNOME"."ID_FREQUENTATORE" = "VOTO"."FRE_ID" AND "CORSI"."ID_CORSO" = "VOTO"."COR_ID" AND UPPER ( "CORSO" ) LIKE UPPER ( '%' || :Corso || '%' ) ORDER BY "VOTO"."VOTO" ASC
Allegati
Schermata 2021-02-16 alle 10.23.27.png
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Sei un grande... era scritta male? a parte il right outer join!?
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] inserimento di record non previsti.

Messaggio da charlie »

Non so se fosse scritta male, non riuscivo a decifrarla, prova ad applicare direttamente il right outer join e vedi se funziona.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Si funziona grazie, con il right outer join, ma è un comando che non ho mai usato! ci tenevo a conoscere il tuo parer a come scrivo in sql! :)
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] inserimento di record non previsti.

Messaggio da charlie »

ma, non ho capito la necessità di quegli As "A", As "B", ....
Comunque la spiegazione di right outer join è questa:
Allegati
Schermata 2021-02-16 alle 15.43.53.png
Schermata 2021-02-16 alle 15.43.53.png (8.94 KiB) Visto 4981 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

si è un modo di scrivere che ho studiato su un corso...
infatti è più facile capire se esplicito la tabella!
grazie mille Charlie :)
LibreOffice 6.4.7 su Windows 10/MacOS
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Buongiorno, quando salvo un nuovo record mi da questo errore cosa può essere??
Allegati
ERRORE.png
LibreOffice 6.4.7 su Windows 10/MacOS
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Charlie, ho risolto... :) mancava la relazione tra le tabelle!
grazie
LibreOffice 6.4.7 su Windows 10/MacOS
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Charlie, sto rifacendo il DB da capo, ma incontro lo stesso problema di sopra "vincolo di integrità", non ricordo come l'ho risolto... ho creato la relazione tra tabelle ma nn funziona...puoi aiutarmi?
LibreOffice 6.4.7 su Windows 10/MacOS
Edo2
Messaggi: 19
Iscritto il: giovedì 21 gennaio 2021, 7:16

Re: [Risolto] inserimento di record non previsti.

Messaggio da Edo2 »

Ciao Charlie mi correggerà ma sono proprio le relazioni a causare quell'errore, ti mancano dati in tabelle relazionate, hai dei record vuoti
Kubuntu 20.04 Libre Office 6.4.6.2
Pierluigi1982+
Messaggi: 126
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [Risolto] inserimento di record non previsti.

Messaggio da Pierluigi1982+ »

Ciao no, non ho record vuoti.
grazie.
LibreOffice 6.4.7 su Windows 10/MacOS
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] inserimento di record non previsti.

Messaggio da charlie »

Ciao, è un errore che ho già incontrato. Sicuramente ha a che fare con le chiavi primarie e/o con le relazioni.
Ma senza vedere il file, non posso dire di più.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi