Newsgroup: it.comp.appl.access
Titolo: Modifica Carattere

Ciao a tutti, nel database ho inserito il calcolo del codice fiscale. Nel
campo luogo di nascita, I comuni di nascita son presi da una tabella
denominata Comuni.
Man mano che si digita il paese il campo viene completato in automatico.
Il problema  è che i paesi son scritti in maiuscolo nella tabella ma  io
vorrei che fossero solamente con la prima iniziale in maiuscolo nella
maschera di inserimento dati. Come potrei fare.
Nel campo luogo di nascita ho inserito sull evento su modifica il seguente
codice :
Private Sub Luogo_di_nascita_Change()
    Dim s As String
    Dim T As String
    Dim Colore As Long
    On Error GoTo ErrFas
    Colore = 0
    T = Trim(Nz(Me.Luogo_di_nascita.Text, ""))
    If T = "" Then
        Me.Luogo_di_nascita.Tag = T
        Exit Sub
    End If
    If Len(T) = 1 Then s = T
    COMUNI.Seek ">=", T
    If Not COMUNI.EOF And Not COMUNI.NoMatch Then
      If UCase(T) = UCase(Mid(COMUNI!COMU_DESCR, 1, Len(T))) Then
        If Len(T) > Len(Me.Luogo_di_nascita.Tag) Then
            Me.Luogo_di_nascita = COMUNI!COMU_DESCR
            Me.Luogo_di_nascita.SelStart = Len(T)
            Me.Luogo_di_nascita.SelLength = Len(Me.Luogo_di_nascita) -
(Len(T))
            Me.txtCodiceComune = COMUNI!COMU_COD
        End If
      Else
        If Me.Luogo_di_nascita.ForeColor = 0 Then MsgBox "Comune non in
elenco"
        Colore = &H80&
        Me.txtCodiceComune = ""
        Me.Luogo_di_nascita.SetFocus
      End If
    End If
   If IsNull(Luogo_di_nascita) Then
     CodiceFiscale = ""
   End If
    If Me.Luogo_di_nascita.ForeColor <> Colore Then
Me.Luogo_di_nascita.ForeColor = Colore
    Me.Luogo_di_nascita.Tag = T
Exit Sub
ErrFas:
    MsgBox ("FasMsg: " & Err.Number & " " & Err.Description)
    Err.Clear
End Sub
Ho provato a inserire il codice per modificare il carattere, sia  su evento
in uscita sia su dopo aggiornamento ma non funzia.
Grazie mille..

 ha scritto nel messaggio
news:LDi5e.42421$Of5....@nntpserver.swip.net...

Ciao Ludo,
puoi o fare una query di aggiornamento sulla tabella comune per modificare
direttamente in minuscolo il nome del comune dalla seconda lettera in poi
oppure dopo aggiornamento del controllo che contiente i comuni digitare :
ControlloComune = Mid(ControlloComune, 1, 1) & LCase(Mid(ControlloComune, 2,
Len(ControlloComune))) ' modifico in minuscolo il nome del comune dalla
seconda lettere in poi, la prima è già maiuscola
se il controllo è una combo il codice sopra lo adatti alla select sulla
tabella che contiene i comuni.
Ciao

 ha scritto nel messaggio
news:d358g6$cpc$1...@balena.cs.interbusiness.it...

Ciao scusa se ti disturbo, ma non saprei quale espressione mettere nella
query per far si che la prima lettera sia maiuscola e le altre minuscole.
Grazie mille..
Ciao..

 Ciao..
Ciao Ludo, nessun disturbo,
la query avrà un sql simile a questo :
SELECT Mid([comune],1,1) & LCase(Mid([comune],2,Len([comune]))) AS comune
FROM TuaTabellaComuna
ovviamente adatta il nome del campo e della tabella se non sono quelli che
ti ho indicato.
Ciao

 Ciao..
Ciao Ludo, con la soluzione che ti ho postato in precedenza sicuramente non
hai risolto in quanto la SELECT che ti ho indicato va bene per una combo
box.
Prova questa query per creare una nuova tabella Comuni che riscrive i nomi
dei comuni con la prima lettera maiuscola e il resto minuscolo:
SELECT  Mid([Comune],1,1) & LCase(Mid([comune],2,Len([comune]))) AS comune1
INTO Nuovacomune
FROM TuaTabellaComuneOriginale;
In questo modo crei una nuova tabella Nuovacomune con il nome riscritto come
ti serve
Se oltre al nome del comune nella tabella di originale hai altri campi li
devi inserire con una virgola dopo l'alias comune1.
Scusami, ciao.

 Grazie mille..
Ciao Ludo,
la sql che ti ho suggerito nel primo post ti consente di selezionare i
comuni ad esempio con una combox box dalla relativa tabella effettuando la
trasformazione che ti serve.
La seconda sql serve per creare una tabella riscrivendo i comuni con la
prima maiuscola e il resto minuscolo concatenando il nome del comune.
Il codice che indichi sopra sicuramente non serve ad effettuare la
"trasformazione" che ti serve e non deve essere utillizzato in una query,
semmai in VBA.
Se vuoi mandarmi un demo del tuo database vedo di sistemartelo, ma ciò che
ti ho indicato è la soluzione.
mia mail :
sandro...@tin.it
Ciao.

 ha scritto nel messaggio
news:f7W5e.1205052$35.44...@news4.tin.it...

Ciao funzia finalmente ce lo fatta..
Volevo kiederti un ultima cosa e poi non ti disturbo piu promesso :-)
Per i paesi che hanno due o tre nomi ? Tipo San Colombano?il codice ke mi
hai dato me lo scrive San colombano, ma per scrivere San Colombano?
grazie mille e ti chiedo ancora scusa..
Solo che con il visual basic non ho molta dimestichezza, anche se ho fatto
programmazione a Ragioneria alle superiori ed è simile a quello che facevo..

 programmazione a Ragioneria alle superiori ed è simile a quello che facevo..
Prova a leggere anche l'Help per queste cose, ad esempio
la Funzione:
StrConv(string, vbProperCase)
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 programmazione a Ragioneria alle superiori ed è simile a quello che
facevo..
Eh, alla Ragioneria avrai studiato l'ostico (almeno per me lo era) Pascal ??
Ciao, ti saluto, buona settimana.
Sandro

 ha scritto nel messaggio
news:fc54253d5e3683b7b0...@mygate.mailgate.org...

Ciao @Alex,
non ho visto il tuo post, non avrei risposto dicendo le stesse cose.
Ciao.

 ha scritto nel messaggio
news:Gag6e.762448$b5.34...@news3.tin.it...

Facevo anke il cobol (lho portato all esame di maturità) ed era simile per
certi versi al visual basic.
Ho un altro problem..o meglio devo mettere minuscolo la stringa fra due
parole dei comuni. Tipo Cervignano del friuli. L'sql di prima mi trasforma
tutto in Cervignano Del Friuli.. per mettere minuscolo" Del"?"
Devo fare in modo di selezionare la 2a stringa e metterla minuscola. Ho
provato a sistemare la select che mi hai suggerito in questo modo:
SELECT  Mid([comunidescr],1,2) &
LCase(Mid([comunidescr],2,Len([comunidescr]))) AS comuneoriginale
INTO nuovacomuni
FROM ComuneOriginale; ma mi porta non solo la seconda stringa ma anche le
successive in minuscolo.
Infatti problema che non avevo guardato, ci sono comuni con due parole e
altri con tre, dovrei usare il Where ?
ciao.. grazie ancora..

 tutto in Cervignano Del Friuli.. per mettere minuscolo" Del"?"
[cut]
allora ti propongo questa soluzione che va bene solo se il nome del comune è
Cervignano del friuli sa riscrivere in Crevignano del Friuli:
ucase(mid("comune",1,1)) & lcase(mid("comune",2,instrrev("comune"," ")-2)) &
ucase(mid("comune",instrrev("comune"," "),2)) &
lcase(mid("comune",instrrev("comune"," ")+2,len("comune")))
in pratica concateni la stringa utilizzando instrrev per determinare la
posizione dello spazio.
la inserisci nella select che ti crea la tabella con i ; al posto della ,
(lo fatta in VBA).
Facci sapere se va.
Ciao.


Non ho capito la storia del creare la tabella con i; al posto della ,
Ho provato a scrivere select della creazione tabella e ho aggiunto il
codice. mi dice ke ce un errore di sintassi dopo From.
In pratica ho collegato la select  dove si usava strconv e alla fine ho
collegato quel codice di cui sopra..m da degli errori..
Scusami ma forse non ho capito..