[Risolto] ricerche incoerenti e immissione data senza "/"

Discussioni sulle caratteristiche di database
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: ricerche incoerenti

Messaggio da Stefano V. »

Aggiunta la modifica, tutto sembra funzionare.

Grazie molte, farò integrazioni col file originale. Anche se la problematica "ricerche incoerenti" sembra risolta però avrei altre richieste per completare il tutto che effettivamente non riguardano questo argomento e non so se devo aprirne un altro. Quindi attendo consiglio se devo mettere l'auspicato [risolto] "n'coppa" all'argomento...

1) Volevo aggiungere nel formulario di ricerca, (cosa che ho inserito nel file allegato solo per il primo campo) un tasto accanto a ciascuna casella di testo delle parole chiave e della collocazione e, magari, anche delle date, che permetta di cancellare in caso di errore nella digitazione il contenuto della casella stessa, ho provato con un comando "annulla ultima digitazione" attribuito a un tasto ma non è soddisfacente perché elimina contemporaneamente il contenuto di tutte le caselle del formulario. Se faccio singoli sub formulari per ciascuna casella di testo e in ciascuno di essi creo un tasto di questo tipo in maniera che non interessi gli altri, la ricerca non funziona più. Mi chiedo se il problema si possa risolvere con una macro (cosa a me -ancora- del tutto nuova) da attribuire al tasto. Ho visto qualcosa in una conversazione del 2015, magari chiedo se c'è un "luogo" specifico dove imparare dall'inizio come si registra una macro.

2) Esiste un modo per facilitare l'inserimento di date senza dover scrivere le "/" tra giorno, mese e anno? Premetto che non trovo particolarmente comodo l'uso del box che esce a tendina perché l'utilizzatore del mio db non ci vede molto bene :geek: e non si trova a cliccare col mouse nei singoli quadratini coi giorni e le freccette coi mesi. Su questa possibilità mi sembra di non aver trovato nulla.

3) Esiste la possibilità di inserire dei comandi in modo da poter ingrandire/rimpicciolire cioè "zoomare" l'immagine una volta che è stata ricercata? Per chiarire allego una foto che rappresenta una schermata "tipo" del formulario dopo che è stata fatta una ricerca (purtroppo non posso allegare il file completo che pesa troppo, ma in ogni caso le istruzioni sono le stesse di "semplificato nuovo 2"). Qui si capisce che può essere comodo ingrandire l'immagine per poter meglio leggere la scrittura. Mi chiedo se esiste la possibilità.

Grazie in anticipo
Allegati
schermata tipo.jpeg
Semplificato nuovo 2.odb
(20 KiB) Scaricato 88 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: ricerche incoerenti

Messaggio da Stefano V. »

Buona domenica,

continuo a scrivere su questa conversazione anche se non so se è il caso di aprirne un'altra. Per quanto riguarda il quesito 1) del mio precedente post, ho creato una macro (in realtà quattro), copiando lo schema dell'argomento del 2015 che aveva proprio quest'oggetto e adeguandolo al mio caso. La cosa funziona ma non del tutto nel senso che schiacciando il tasto, effettivamente, si cancella il contenuto del campo corrispondente però se subito dopo si schiaccia "aggiorna", essendo tutti i campi vuoti si dovrebbero restituire tutti i documenti del database invece non ne viene restituito nessuno. E' come se nel campo appena cancellato rimanesse un carattere invisibile che impedisce di aggiornare correttamente l'intero formulario. Ho notato che però la cosa si risolve rimettendo il cursore nel campo appena cancellato e premendo il tasto "canc". Fatto questo se premo il pulsante "aggiorna" il filtro riprende a funzionare e vengono (giustamente) restituiti tutti i documenti.
Si può ovviare questo problema? (cioè evitare di dover tornare sul campo cliccarci sopra e premere "canc")

Grazie in anticipo e, in ogni caso farebbe piacere qualche dritta anche sulle domande 2 e 3 dell'altro post. (lo so sono ingordo, ma la cosa è affascinante e un problema tira l'altro)
Allegati
Semplificato nuovo 2.odb
(21.36 KiB) Scaricato 88 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: ricerche incoerenti

Messaggio da Gaetanopr »

Cambia in questo modo

Codice: Seleziona tutto

Sub Cancella (oEvent as Object)
oEvent.Source.Model.Parent.GetByName("Collocazione").Text=""
oEvent.Source.Model.Parent.GetByName("Collocazione").commit = true
End Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: ricerche incoerenti

Messaggio da Stefano V. »

Grazie anche per la velocità.
La correzione del codice funziona bene.

posto il db corretto per completezza
Allegati
Semplificato nuovo 2.odb
(21.39 KiB) Scaricato 91 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: ricerche incoerenti

Messaggio da Stefano V. »

Buongiorno
vorrei creare un tasto collegato ad una macro che permetta di aprire col programma esterno associato alle immagini (nel mio caso, che ho un mac, uso anteprima) un file il cui percorso si trova in una casella di testo (che varia di volta in volta perché è il risultato di una ricerca). Guardando gli esempi sul forum ho trovato due macro che pensavo potessero fare al caso mio, ma che non (mi) funzionano.

sono:

sub openurl(oEv as object)
dim oForm,oTextBox
oForm=oEv.source.model.parent
oTextBox=oForm.getbyname("fotolink")
if FileExists ( oTextBox.text) then

oEv.source.model.targeturl=oTextBox.text
openurl=true ' Do the programm when the file exists
else
openurl=false ' The file does not exist and do nothing
end if
print convertfromurl(oTextBox.text)
End sub

e

Sub OpenLink (oEvent as Object) 'Push Button > Events > Approve action
oButton = oEvent.Source.Model
sFilePath = oButton.Parent.GetByName("fotolink").Text
oButton.ButtonType=com.sun.star.form.FormButtonType.URL
oButton.targeturl=sFilePath
End Sub

il campo di testo dove prendere il percorso è il parametro da me personalizzato che si chiama "fotolink"

il responso che mi da il computer se schiaccio il tasto associandolo o alla prima macro (cioè openurl) o alla seconda macro (cioè openlink) è sempre lo stesso: -"/Volumes/LaCie/Prova%20database/09%20-%2023:04:2018/00001%20-%2023.04.18%20.JPG" non è un URL assoluto che si può passare a un'applicazione esterna per l'apertura.-
dove la parte scritta tra virgolette è chiaramente il percorso di esempio in cui si trova la foto.

Questa funzionalità di aprire direttamente la foto ricercata con un programma esterno mi sarebbe molto utile perché potrei sfruttare le funzionalità di quest'ultimo aggirando ad esempio il problema di dover zoommare l'immagine all'interno del database per vederla meglio.
Non riesco purtroppo a postare il file del database perchè è troppo grande.
Grazie dell'aiuto in anticipo
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: ricerche incoerenti

Messaggio da Stefano V. »

sono riuscito a creare il database col problema, i primi due documenti hanno una foto (chiaramente chi lo scarica non la vedrà perché il percorso riguarda il mio computer). Ho messo tutte e due le macro anche se mi pare che attualmente il tasto "visualizza" sia collegato alla macro OpenLink. ma non fa differenza perché non mi funziona nessuna delle due.

Grazie se vogliate dare un piccolo aiuto :D
Allegati
Semplificato hiperlink.odb
(22.5 KiB) Scaricato 94 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: ricerche incoerenti

Messaggio da Stefano V. »

Grazie a Charlie che ha risolto sia il problema delle ricerche incoerenti, sia il problema dell'ingrandimento delle immagini, indirettamente, facendo ricorso alla sua macro "openurlimm" e grazie a Gaetanopr che mi ha aiutato a perfezionare la macro per la cancellazione dei campi di testo. Direi che posso ritenere il topic "risolto". Magari per il problema di semplificare l'immissione delle date farò un argomento a parte. :D
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re:ricerche incoerenti

Messaggio da Gaetanopr »

Ciao, ho scaricato ilo tuo db, ho provato a filtrare la ricerca per data ma non mi restituisce nessuna corrispondenza.
Come mai? volevo fare qualche prova per l'inserimento della data senza "/".
Ultima modifica di Gaetanopr il giovedì 18 aprile 2019, 12:41, modificato 1 volta in totale.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: [Risolto] ricerche incoerenti

Messaggio da Stefano V. »

rispondo più tardi, sorry
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: [Risolto] ricerche incoerenti

Messaggio da Stefano V. »

Buonasera Gaetanopr, non so perché non ti funzioni. Io ho riscaricato per sicurezza il db che ho postato e (nel dubbio di aver caricato una versione non funzionante) ho fatto con esso una ricerca per date come nella figura che allego e a me funziona. Come vedi ho inserito nell'intervallo di tempo "tra e da" due date nel formato gg/mm/aaaa e il risultato sono quei quattro documenti di fantasia che puoi vedere. Si dovrebbe filtrare per data crescente ma non è questo il punto.
Fammi sapere. Ciao e grazie se fai la prova senza /
Allegati
fig. 1-min.jpeg
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re:ricerche incoerenti

Messaggio da Gaetanopr »

Hai ragione ho scaricato il db e funziona perfettamente, non so come mai prima non funzionava, adesso però sto usando un altro pc.
Comunque poco importa, faccio delle prove e ti faccio sapere.

Saluti
Ultima modifica di Gaetanopr il giovedì 18 aprile 2019, 12:41, modificato 1 volta in totale.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re:ricerche incoerenti

Messaggio da Gaetanopr »

Ti riallego file con macro associata all'evento "Prima di aggiornare" dei due campi.
Ho sostituito i campi data con campi di testo per poter funzionare.
Le date possono essere inerite in entrambi i formati, quindi sia 16/04/2019 che 16042019.
L'importante che l'anno sia sempre a 4 cifre almeno nel formato senza "/" e giorni e mesi a 2 cifre.

Fai test

PS: Comunque facendo delle prove a prescindere dalla macro che ho creato per facilitare l'immissione della data ho potuto constatare che il filtro non riporta i record con la stessa data di inizio o di fine, quindi filtra per data maggiore a quella di inizio e minore a quella di fine, invece secondo me dovrebbe filtrare per data >= a quella iniziale e <= a quella finale.


Saluti
Allegati
Semplificato hiperlink.odb
(22.63 KiB) Scaricato 89 volte
Ultima modifica di Gaetanopr il giovedì 18 aprile 2019, 12:41, modificato 1 volta in totale.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: [Risolto] ricerche incoerenti

Messaggio da Stefano V. »

Grazie Gaetanopr, la macro della data funziona benissimo. :super: La copierò nel db completo che per ragioni di grandezza non posso postare. Ho anche seguito il tuo consiglio di >= e <= :bravo: ed, effettivamente i risultati della ricerca per date sono più logici. Mi pare che all'origine l'avevo fatto sbagliando qualcosa, evidentemente, perché mi dava risultati assurdi e allora ho tolto gli = per avere in qualche modo dei risultati coerenti. Forse perché li avevo messi prima di migliorare le formule sulle date e poi mi sono dimenticato di rifare la prova.

Allora volevo chiederti (come dire, una ciliegia tira l'altra),

1) se i campi dove inserisco le date sono capi di testo, come tu mi dici di aver modificato e vedo nel navigatore del formulario, anche per questi posso utilizzare senza problemi la macro, opportunamente rinominata, da te fornitami per cancellare i campi in caso di errore di immissione, con un apposito tasto?

E se è così,

2) qualora volessi usare anche per l'immissione della data esatta, la stessa macro che semplifica la digitazione senza barrette e la macro per cancellare, dovrei trasformare in campo di testo pure i campi ora in formato data che sono nelle tabelle t_documenti e t_filtro?

Se lo sai "a priori" fammi sapere, se puoi, intanto Io mo' provo a fare questi cambiamenti e ti dico se il computer esplode o no. Grazie comunque.
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: ricerche incoerenti

Messaggio da Gaetanopr »

Ti rispondo al volo senza fare prove, la macro puoi usarla per resettare i campi, avrai notato che in caso di immissione errata la macro Data_Automatica pulisce il campo, per errata immissione intendo un formato data non congruo, tipo 1904198 oppure 19202019(mese 20 non esiste).
Si i campi devono essere di testo in quanto il campo data appena inserisci un valore senza le "/" te lo trasforma in data in ogni caso, quindi non si riesce ad intercettare la data che vuoi immettere veramente.
Naturalmente quanto detto va testato.
Ultima modifica di Gaetanopr il giovedì 18 aprile 2019, 12:40, modificato 1 volta in totale.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: [Risolto] ricerche incoerenti

Messaggio da Stefano V. »

applicato modifiche e testato. Non ho sostituito il formato date nelle tabelle.
Posto il db aggiornato

una cosa strana, il campo di data esatta dopo essere stato compilato ed aver premuto il tasto tab, le prime due cifre dell'anno scompaiono a differenza che in minore e maggiore. Boh, però funziona...
Allegati
Semplificato%20hiperlink.odb
(22.83 KiB) Scaricato 89 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re:ricerche incoerenti

Messaggio da Gaetanopr »

Ciao, nelle tabelle non và modificato il tipo di dati che rimane Date, solo il campo data va cambiato nel formulario, per quanto riguarda l'anno a 2 cifre questo invece dipende dall'impostazione del campo nella tabella, cambia il formato con anno a 4 cifre AAAA.
Ultima modifica di Gaetanopr il giovedì 18 aprile 2019, 12:40, modificato 1 volta in totale.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: [Risolto] ricerche incoerenti

Messaggio da Stefano V. »

Ciao, va bene, grazie, lo farò domani. E ti farò sapere.
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: [Risolto] ricerche incoerenti

Messaggio da Stefano V. »

Buongiorno Gaetanopr, ho modificato il campo nella tabella mettendo l'anno a 4 cifre e tutto funziona bene. Grazie!
Allegati
Semplificato%20hiperlink.odb
(22.81 KiB) Scaricato 86 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] ricerche incoerenti

Messaggio da charlie »

Che ne dite di togliere il [Risolto] ?
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: [Risolto] ricerche incoerenti

Messaggio da Stefano V. »

:D Scusa Charlie, in realtà ora è veramente risolto... magari amplierei il titolo perché oltre alle ricerche incoerenti abbiamo parlato anche di "data automatica"
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Rispondi