[Risolto] campo numerico senza tasto "punto"

Creare una macro - Scrivere uno script - Usare le API
Rispondi
gino62
Messaggi: 91
Iscritto il: giovedì 26 dicembre 2013, 18:39

[Risolto] campo numerico senza tasto "punto"

Messaggio da gino62 »

buon giorno.
Ho un campo numerico dove si immettono dati numerici da 5 a 15 con una cifra decimale.
Es. 1,5. Volevo intercettare il tasto punto perchè potrebbe creare problemi se si immettesse il numero con il punto (es. 1.5).
Sono riuscito ad intercettarlo, a leggere il contenuto e a scrivere nel campo.
Ma non riesco, quando viene premuto il tasto punto, a leggere il contenuto, eliminare il punto e scrivere il testo precedente.
Oppure un metodo alternativo.
Grazie e buona giornata. (allego file)
Allegati
Nuovo database1.odb
(77 KiB) Scaricato 97 volte
Nuovo database.odb
(76.34 KiB) Scaricato 92 volte
Ultima modifica di gino62 il mercoledì 28 maggio 2014, 7:25, modificato 1 volta in totale.
LibreOffice 3.5.4.2
Debian /.3 wheezy
vladboscaneanu
Volontario
Volontario
Messaggi: 380
Iscritto il: martedì 22 ottobre 2013, 1:35

Re: campo numerico senza tasto "punto"

Messaggio da vladboscaneanu »

Ciao,perché hai allegato due esempi?
La mia soluzione è:
1.Inserisci un campo a maschera (Pattern Field)
2.Ricordati di collegarlo con il Campo/Tabella desiderata. (Proprietà Campo-->Dati-->Campo di dati )
3.Nella Proprietà campo-->Maschera di digitazione inserisci formato : NLN
4.Segue Maschera caratteri _,_ .Importante è la virgola,che ha la seconda posizione,le due barrette(1 e 3) sono
opzionale.
5.La lunghezza max.testo = 3
5. Attiva per sicurezza controllo formato
6.Semplifica la macro,lascia solo il controllo valore:
15> Campo.Valore> 5,se si inserisce un valore diverso,fai
scattare un messaggio di errore,poi prendi il Focus dell campo,cosi l'utente è costretto a inserire di
nuovo il valore.
Ciao.
Cattura.PNG
Allegati
Nuovo database1_v2.odb
(78.31 KiB) Scaricato 91 volte
LibreOffice ultima versione su Windows 10
gino62
Messaggi: 91
Iscritto il: giovedì 26 dicembre 2013, 18:39

Re: campo numerico senza tasto "punto"

Messaggio da gino62 »

Buona giornata a tutti.
ciao vladboscaneanu, grazie per la risposta.
effettivamente il mio problema così sarebbe risolto (approfondirò maschere e pattern field), però dovrei scrivere sia numeri a una cifra prima della virgola che a due cifre:
es.: 5,5 (e qui sarebbe perfetto) ma dovrei anche accettari numeri come 11,5. Che modifiche dovrei fare al pattern field per accettare tutti e due i nomeri?
grazie
buona giornata
LibreOffice 3.5.4.2
Debian /.3 wheezy
vladboscaneanu
Volontario
Volontario
Messaggi: 380
Iscritto il: martedì 22 ottobre 2013, 1:35

Re: campo numerico senza tasto "punto"

Messaggio da vladboscaneanu »

E si,mi è sfuggito..hai ragione...la soluzione c'è,ma purtroppo non mi piace..
Maschera di digitazione diventa : NNLN
Maschera di caratteri : __,_
Lunghezza max.testo: 4
L'utente deve inserire per valori fino a 10 un zero davanti ,tipo 09,56
Poi l'espressione la devi convertire in numero Double(CDbl se non ricordo male),se dovessi avere dei problemi(se dovessi,magari non serve).
Ciao
LibreOffice ultima versione su Windows 10
gino62
Messaggi: 91
Iscritto il: giovedì 26 dicembre 2013, 18:39

Re: campo numerico senza tasto "punto"

Messaggio da gino62 »

buona giornata
grazie vladboscaneanu per la risposta. Penso possa andare bene anche così.
buona giornata
LibreOffice 3.5.4.2
Debian /.3 wheezy
Rispondi