Pannello di Controllo Moderatore ]

[Risolto] Leggere ultimo record in base

Discussioni sulle caratteristiche di database

[Risolto] Leggere ultimo record in base

Messaggioda Linux69 » martedì 24 aprile 2018, 23:08

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
Linux69
 
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

Re: Leggere ultimo record in base

Messaggioda charlie » mercoledì 25 aprile 2018, 8:09

Ciao e benvenuto sul forum.
Se intanto ti vuoi presentare puoi farlo qui: https://forum.openoffice.org/it/forum/viewforum.php?f=16
Per una panoramica delle regole del forum consulta il Manuale di sopravvivenza: http://forum.openoffice.org/it/forum/viewtopic.php?f=1&t=2
Buon proseguimento.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 5.4.3.2
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5199
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Leggere ultimo record in base

Messaggioda charlie » mercoledì 25 aprile 2018, 9:49

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

Codice: Seleziona tutto   Espandi visualeStringi visuale
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   Espandi visualeStringi visuale
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 11 volte
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 5.4.3.2
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5199
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Leggere ultimo record in base

Messaggioda Linux69 » mercoledì 25 aprile 2018, 18:28

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 13 volte
Open Office 4.1.3
Linux69
 
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

Re: Leggere ultimo record in base

Messaggioda charlie » giovedì 26 aprile 2018, 8:13

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 14 volte
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 5.4.3.2
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5199
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Leggere ultimo record in base

Messaggioda Linux69 » giovedì 26 aprile 2018, 18:49

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
Linux69
 
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

Re: Leggere ultimo record in base

Messaggioda charlie » giovedì 26 aprile 2018, 18:54

Per farmi capire dovresti dirmi quali campi aggiungere.
O li aggiungi tu e posti il file anche se ti dà errore.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 5.4.3.2
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5199
Iscritto il: mercoledì 19 dicembre 2012, 11:50

[Risolto] Re: Leggere ultimo record in base

Messaggioda Linux69 » venerdì 27 aprile 2018, 22:55

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
Linux69
 
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53

Re: Leggere ultimo record in base

Messaggioda charlie » sabato 28 aprile 2018, 11:09

Sono contento tu abbia raggiunto lo scopo (è il caso che tu metta [Risolto] https://forum.openoffice.org/it/forum/v ... 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 10.12 Sierra: Open Office 4.1.5 - LibreOffice 5.4.3.2
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5199
Iscritto il: mercoledì 19 dicembre 2012, 11:50

[Risolto] Re: Leggere ultimo record in base

Messaggioda Linux69 » lunedì 30 aprile 2018, 1:34

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
Linux69
 
Messaggi: 6
Iscritto il: martedì 24 aprile 2018, 22:53


Torna a Base

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti