[Risolto] Convertire testo da minuscolo a maiuscolo
[Risolto] Convertire testo da minuscolo a maiuscolo
Buonasera a tutti, premetto che sono alle prime armi e lo capirete anche dalla seguente richiesta.
Per iniziare questo percorso d'apprendimento ho inventato un db di fantasia, di cui allego file ed uno dei primi ostacoli che ho incontrato è quello di voler trasformare in modo automatico nel campo "Codice Fiscale", tutto quello che scrivo in minuscolo in maiuscolo.
Pensavo di risolverlo con il registratore di macro, come a volte faccio con "Calc", però mi sono accorto che così non è.
Sarebbe possibile capire come si fa?
Ringrazio anticipatamente a chi mi darà una mano
Per iniziare questo percorso d'apprendimento ho inventato un db di fantasia, di cui allego file ed uno dei primi ostacoli che ho incontrato è quello di voler trasformare in modo automatico nel campo "Codice Fiscale", tutto quello che scrivo in minuscolo in maiuscolo.
Pensavo di risolverlo con il registratore di macro, come a volte faccio con "Calc", però mi sono accorto che così non è.
Sarebbe possibile capire come si fa?
Ringrazio anticipatamente a chi mi darà una mano
- Allegati
-
- Gestionale.odb
- (14.14 KiB) Scaricato 150 volte
Ultima modifica di sanraff il domenica 25 settembre 2016, 21:52, modificato 1 volta in totale.
OpenOffice 3.3 SU WINDOWS 7
Re: Convertire testo da minuscolo a maiuscolo
Ciao, a livello Query puoi usare la funzione UPPER("Nome_Campo") che trasforma in maiuscole tutte le lettere.
A livello formulario al posto di un campo testo puoi usare un campo con maschera che costringe a digitare lettere maiuscole e numeri dove sono richiesti.
A livello formulario al posto di un campo testo puoi usare un campo con maschera che costringe a digitare lettere maiuscole e numeri dove sono richiesti.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Convertire testo da minuscolo a maiuscolo
Ciao sanraff, vedo che ti stai cimentando con base
Oltre a quanto detto da charlie puoi usare questa piccola macro
Sempre associata all'evento perdita punto focale.
Oltre a quanto detto da charlie puoi usare questa piccola macro
Codice: Seleziona tutto
Sub Maiuscolo(Ev)
Ev.Source.Text = UCase(Ev.Source.Text)
End Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Convertire testo da minuscolo a maiuscolo
Buonasera ragazzi, innanzitutto grazie per avermi risposto in modo così celere.
Andando per ordine alle soluzioni da voi consigliate, posso dire che per mia inesperienza ed ignoranza non ho capito quella di charlie, anzi se fosse possibile avere un tuo file di esempio, te ne sarei grato, così mi daresti la possibilità di iniziare ad imparare nel modo corretto.
Per quanto riguarda te, Gaetanopr, come vedi ho ascoltato un tuo consiglio espresso in un precedente post di "Calc", spero di riuscire ad appassionarmi in questa nuova avventura come è stato per "Calc", che per me resta sempre un buon punto di riferimento.
Ho provato la tua macro, è palese che funziona bene e non avevo dubbi, solo che riguardando i dati scritti nella tabella corrispondente al form, questi ultimi vengono riportati in minuscolo e non in maiuscolo, mentre io pensavo che la cosa accadesse in automatico anche lì.
Ho forse sbagliato qualche formattazione?.
Ti dispiacerebbe darmi qualche informazione in più?, magari mi potresti far capire come si fa a riportarli anche lì in maiuscolo quando la compilazione avviene dal form di inserimento, grazie
Andando per ordine alle soluzioni da voi consigliate, posso dire che per mia inesperienza ed ignoranza non ho capito quella di charlie, anzi se fosse possibile avere un tuo file di esempio, te ne sarei grato, così mi daresti la possibilità di iniziare ad imparare nel modo corretto.
Per quanto riguarda te, Gaetanopr, come vedi ho ascoltato un tuo consiglio espresso in un precedente post di "Calc", spero di riuscire ad appassionarmi in questa nuova avventura come è stato per "Calc", che per me resta sempre un buon punto di riferimento.
Ho provato la tua macro, è palese che funziona bene e non avevo dubbi, solo che riguardando i dati scritti nella tabella corrispondente al form, questi ultimi vengono riportati in minuscolo e non in maiuscolo, mentre io pensavo che la cosa accadesse in automatico anche lì.
Ho forse sbagliato qualche formattazione?.
Ti dispiacerebbe darmi qualche informazione in più?, magari mi potresti far capire come si fa a riportarli anche lì in maiuscolo quando la compilazione avviene dal form di inserimento, grazie
OpenOffice 3.3 SU WINDOWS 7
Re: Convertire testo da minuscolo a maiuscolo
Ciao, il file allegato contiene una Query di esempio per la funzione UPPER.
Nel formulario il campo Codice Fiscale è stato convertito in un Campo a Maschera che accetta solo 16 caratteri nel formato AAAAAAANNANNANNA (A per le lettere, N per i numeri). Le lettere minuscole digitate vengono memorizzate come maiuscole. Vedi le Proprietà:
Nel formulario il campo Codice Fiscale è stato convertito in un Campo a Maschera che accetta solo 16 caratteri nel formato AAAAAAANNANNANNA (A per le lettere, N per i numeri). Le lettere minuscole digitate vengono memorizzate come maiuscole. Vedi le Proprietà:
- Allegati
-
- Gestionale_2.odb
- (14.23 KiB) Scaricato 153 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Convertire testo da minuscolo a maiuscolo
Una volta confermato il record i caratteri ritornano in minuscolo ecco perche nella tabella vengono riportati in questo modo, basta aggiornare il campo testo prima del salvataggio sempre tramite macro.
Questa è la nuova macro
La soluzione del campo a maschera è la migliore nel caso del codice fiscale anche se c'è da fare una precisazione
Opzione
In un formulario che ho creato su CALC per l'inserimento di anagrafica ho inserito una macro che effettua diversi controlli tra cui la lunghezza (16) e la corretta indicazione dei caratteri.
Questa è la macro adattata al tuo file, come puoi vedere effettua pure un controlo su un campo di testo destinato a contenere il numero della partita iva.
Allego pure file
Saluti
Questa è la nuova macro
Codice: Seleziona tutto
Sub Maiuscolo(Ev)
Ev.Source.Text = UCase(Ev.Source.Text)
oForm = Ev.Source.Model.Parent
oForm.getbyname("txtCodice Fiscale").commit = true
End Sub
Per essere più precisi si può indicare la lunghezza massima, quindi anche inserendo correttamente 15 caratteri e non 16 non viene segnalato l'errore, si può ovviare con una macro del generecharlie ha scritto:..........in un Campo a Maschera che accetta solo 16 caratteri.........
Codice: Seleziona tutto
Sub LunghezzaCod(Ev)
If Len(TRIM(Ev.Source.Text)) <> 16 Then MsgBox "Lunghezza Codice Fiscale errata" : Exit Sub
End Sub
In un formulario che ho creato su CALC per l'inserimento di anagrafica ho inserito una macro che effettua diversi controlli tra cui la lunghezza (16) e la corretta indicazione dei caratteri.
Codice: Seleziona tutto
Sub Controllo_PIva_CodFisc(Ev)
Dim Record As String
Dim Lunghezza As Long
Dim Formato(15) AS Boolean
Record = Ev.Source.Text
Lunghezza = Trim(Len(Ev.Source.Text))
if Ev.Source.Model.Name = "Piva" Then
If Lunghezza <> 11 Then MsgBox "Lunghezza Partita Iva errata" : Exit Sub
For i = 1 To Lunghezza
if IsNumeric(Mid(Ev.Source.String, i, 1)) = False Then
MsgBox "Partita Iva errata"
Ev.Source.setFocus
exit sub
end if
next i
Elseif Ev.Source.Model.Name = "txtCodice Fiscale" Then
If Lunghezza <> 16 Then MsgBox "Lunghezza Codice Fiscale errata" : Exit Sub
Formato = Array(0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,0)
For i = 1 To Ubound(Formato)
if IsNumeric(Mid(ev.Source.Text, i+1, 1)) <> CBool(Formato(i)) Then
MsgBox "Codice Fiscale errato"
Ev.Source.setFocus
exit sub
end if
next i
End if
Ev.Source.Text = UCase(Record)
oForm = Ev.Source.Model.Parent
oForm.getbyname(Ev.Source.Model.Name).commit = true
End Sub
Allego pure file
Saluti
- Allegati
-
- Gestionale_gaetanopr.odb
- (14.78 KiB) Scaricato 131 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Convertire testo da minuscolo a maiuscolo
Buonasera ragazzi, scusatemi se vi rispondo solo adesso, ma ho avuto dei problemi con il PC a causa di forti temporali nella mia zona.
Ad ogni modo, non posso altro che ringraziarvi per lo splendido lavoro e per quello che mi state insegnando, anzi prima di concludere questo post volevo sapere se era possibile imparare ad ottenere le parole anzichè tutte in maiuscolo, solo le iniziali, per implementare questa funzione per alcuni campi del db che ho creato, parole che dovrò riscontrarle anche nella tabella, grazie
Ad ogni modo, non posso altro che ringraziarvi per lo splendido lavoro e per quello che mi state insegnando, anzi prima di concludere questo post volevo sapere se era possibile imparare ad ottenere le parole anzichè tutte in maiuscolo, solo le iniziali, per implementare questa funzione per alcuni campi del db che ho creato, parole che dovrò riscontrarle anche nella tabella, grazie
OpenOffice 3.3 SU WINDOWS 7
Re: Convertire testo da minuscolo a maiuscolo
Ho modificato la macro in modo tale da ottenere le prime lettere in maiuscolo.
Saluti
Codice: Seleziona tutto
Sub Maiuscolo(Ev)
a = Split(Ev.Source.Text)
For i = 0 To Ubound(a)
a(i) = UCase(Left(a(i), 1)) & LCase(Right(a(i), Len(a(i))-1))
Next i
Ev.Source.Text = Join(a)
oForm = Ev.Source.Model.Parent
oForm.getbyname(Ev.Source.Model.Name).commit = true
End Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10