[Risolto] Leggere ultimo record in base

Discussioni sulle caratteristiche di database
Rispondi
Linux69
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

[Risolto] Leggere ultimo record in base

Messaggio da Linux69 »

Ciao sto creando un database per la memorizzazione di analisi chimiche e il relativo calcolo per la correzione dei bagni galvanici. Mi sono scontrato con 2 problemi che non sono in grado di gestire poichè non ho trovato alcuna risposta.
Il primo è che non riesco a richiamare solo l'ultimo record. Il database ha 2 campi che sono: Numero_analisi (intero) e Data_analisi.
Le necessità che ne derivano sono in primis confermare le correzioni elaborate e aggiungere delle note, poi di visualizzare in qualunque momento l'ultima analisi per eventuali necessità.
Il secondo problema è che vorrei visualizzare le analisi dell'ultimo mese.
Grazie
Ultima modifica di charlie il martedì 1 maggio 2018, 9:17, modificato 2 volte in totale.
Motivazione: Inseriti [Risolto] e spunta verde
Open Office 4.1.3
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Leggere ultimo record in base

Messaggio da charlie »

Ciao e benvenuto sul forum.
Se intanto ti vuoi presentare puoi farlo qui: viewforum.php?f=16
Per una panoramica delle regole del forum consulta il Manuale di sopravvivenza: http://forum.openoffice.org/it/forum/vi ... hp?f=1&t=2
Buon proseguimento.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Leggere ultimo record in base

Messaggio da charlie »

Linux69 ha scritto:Il primo è che non riesco a richiamare solo l'ultimo record

Codice: Seleziona tutto

SELECT MAX( "Numero_analisi" ) AS "Numero_analisi", MAX( "Data_analisi" ) AS "Data_analisi" FROM "Tabella1"

(vedi Ricerca1)
Linux69 ha scritto:Il secondo problema è che vorrei visualizzare le analisi dell'ultimo mese

Codice: Seleziona tutto

SELECT "Tabella1"."Numero_analisi", "Tabella1"."Data_analisi" FROM "Tabella1", (SELECT MAX( MONTH( "Data_analisi" ) ) AS "Mese" FROM "Tabella1") WHERE (SELECT MAX( MONTH( "Data_analisi" ) ) AS "Mese" FROM "Tabella1") = MONTH( "Tabella1"."Data_analisi" )
(vedi Ricerca3 o, in alternativa, Vista2 + Ricerca2)
Allegati
Analisi.odb
(4.54 KiB) Scaricato 141 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Linux69
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

Re: Leggere ultimo record in base

Messaggio da Linux69 »

Scusa charlie, sono stato un po superficiale nella mia spiegazione. Il database è composto di 17 campi (ID compreso).
Io devo visualizzarli tutti tranne ID.
Purtroppo non sono riuscito ad applicare i tuoi suggerimenti. :crazy:
Ti allego il database completo in modo tale che tu lo possa vedere nella sua completezza e valutare dove potrebbe essere l'errore.
Grazie
Allegati
analisi CU.odb
(78.15 KiB) Scaricato 138 volte
Open Office 4.1.3
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Leggere ultimo record in base

Messaggio da charlie »

Si risolve in maniera più semplice.
Aggiunta query Numero massimo e fatto confronto nella query Ultimo record. Funziona nell'ipotesi che non ci siano ripetizioni nel Numero analisi (altrimenti bisognerà spostare tutto sull'ID che è sicuramente un numero univoco).
Aggiunta query Mese massimo e fatto confronto nella query Ultimo mese.
Allegati
analisi CU_2.odb
(78.71 KiB) Scaricato 150 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Linux69
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

Re: Leggere ultimo record in base

Messaggio da Linux69 »

Grazie Charlie, l'ultimo record funziona benissimo!!! :bravo: :bravo: :bravo: :bravo:
Temevo che il non legare il numero analisi con ID avrebbe generato qualche problema in fase di ricerca...difatti la tua soluzione è stata la conferma.
Rimane ancora un piccolo problema con la query "ultimo mese", funziona ma ho la necessità di aggiungere i rimanenti campi. Quando lo faccio e tento di salvare mi viene fuori "CODICE ERRORE 1000 syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE".
Open Office 4.1.3
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Leggere ultimo record in base

Messaggio da charlie »

Per farmi capire dovresti dirmi quali campi aggiungere.
O li aggiungi tu e posti il file anche se ti dà errore.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Linux69
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

[Risolto] Re: Leggere ultimo record in base

Messaggio da Linux69 »

Risolto Charlie!!!
L'errore consiste nel fatto che la tua funzione del binomio Ultimo_mese e massimo_mese non accetta modifiche!!
Ovvero "massimo mese" che non permette modifiche.
Per velocizzare ho fatto un copia-incolla di quanto è stato il tuo suggerimento, aggiungendo poi i campi della tabella "assegnazione".
Al momento di salvare mi si poneva l'errore ed era impossibile salvare. La query però funzionava correttamente. :alarm:
Allora non ho fatto ne più ne meno che riscrivere la query daccapo, inserendo tutti i campi nell'ordine che mi servivano (vedi per esempio la visualizzazione in modalita tabella) e alla fine ho aggiunto la funzione "mese massimo" con il criterio "MONTH( [assegnazione].[Data] )".
Salvato la query tutto Ok, mandato in esecuzione tutto Ok.
Riapro la query provo una modifica e salvo e mi si ripresenta lo stesso errore.
MA VA BENISSIMO!!! IL TUTTO FUNZIONA, LO SCOPO L'HO RAGGIUNTO....SE DEVO FARE DELLE MODIFICHE SO CHE DEVO RISCRIVERLA....5 MINUTI ANZICHE 2 VA BENISSIMO!!!
GRAZIE
Ultima modifica di Linux69 il lunedì 30 aprile 2018, 1:27, modificato 1 volta in totale.
Open Office 4.1.3
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Leggere ultimo record in base

Messaggio da charlie »

Sono contento tu abbia raggiunto lo scopo (è il caso che tu metta [Risolto] viewtopic.php?f=2&t=5661).

Ma non capisco le difficoltà a modificare le query. Ci si riesce aprendole in modalità Modifica e facendo doppio clic su ogni campo da aggiungere.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Linux69
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

[Risolto] Re: Leggere ultimo record in base

Messaggio da Linux69 »

Non so spiegarmelo, ho provato a fare la stessa cosa con Open Office 4.1.5 che con 4.1.3 su 2 macchine differenti ma ottenendo lo steso errore. E' esperienza maturata. Grazie e a presto
Open Office 4.1.3
Rispondi