Newsgroup: it.comp.appl.access
Titolo: casella di testo che non si aggiorna ....

Salve a tutti.
In una maschera con molti controlli ho inserito, su alcune caselle di testo, 
un TAG per poterle ritrovare in questa maniera (circa):
    For Each ccc In Forms("mCalendarioAlVolo").Controls
        If ccc.Tag = "ore" Then
            intIndice = Right(ccc.Name, 1)
            If InStr(ParsSettLav, Right(ccc.Name, 1)) > 0 Then
                ccc.Visible = parAcceso
                ccc = "xxx" '<<<< (1)
            End If
        End If
    Next ccc
in pratica uso questo metodo per visualizzare o meno le caselle.
Ma il mio problema č che non 'vedo' il valore "xxx" che ho inserito solo per 
prova.
Non capisco perchč.
La maschera č modale, il codice non restituisce nessun errore e se 
interrompo il codice al punto (1) e passo il cursore sopra a ccc vedo il suo 
valore correttamente assegnato.
Ma non riesco a Vederlo riflesso nella casella sulla maschera !!!!!!
Ho provato a fare dei refresh e dei repaint, ma non so cosa fare .....
... qualsiasi idea č ben accetta!
IvanDaBologna 

 IvanDaBologna
Purtroppo non si capisce benissimo quello che fà non avendola postata
in modo
completo, intanto ottimizza il 2° IF usando la variabile "intIndice"
inevece del ricalcolo
che hai fatto, poi prova ad usare la proprietà Value , poi visto che
parAcceso potrebbe
essere = False la riga in cui fai il controllo potrebbe andare in
errore...
For Each ccc In Forms("mCalendarioAlVolo").Controls
        If ccc.Tag = "ore" Then
            intIndice = Right(ccc.Name, 1)
            If InStr(ParsSettLav, intIndice ) > 0 Then
                ccc.Visible = parAcceso
                ccc.Value  = "xxx" '<<<< (1)
            End If 
        End If 
    Next ccc 
Ciao
@Alex

 ha scritto nel messaggio 
news:1150837391.8...@i40g2000cwc.googlegroups.com...
[cut]
Purtroppo non si capisce benissimo quello che fà non avendola postata
in modo
completo, intanto ottimizza il 2° IF usando la variabile "intIndice"
inevece del ricalcolo
che hai fatto, poi prova ad usare la proprietà Value , poi visto che
parAcceso potrebbe
essere = False la riga in cui fai il controllo potrebbe andare in
errore...
For Each ccc In Forms("mCalendarioAlVolo").Controls
        If ccc.Tag = "ore" Then
            intIndice = Right(ccc.Name, 1)
            If InStr(ParsSettLav, intIndice ) > 0 Then
                ccc.Visible = parAcceso
                ccc.Value  = "xxx" '<<<< (1)
            End If
        End If
    Next ccc
Ciao
@Alex
ciao @Alex,
ho risolto dimensionando la variabile ccc As Control !!!!!!!!!!!!!
Non ci posso credere!
Ho violato il pimo comandamento del compilatore!
scusa per il tempo perso .... ;)
IvanDaBologna 

 IvanDaBologna
Non hai violato nulla, ma se lo avessi postato per intero avresti messo
tutti in condizione di aiutarti.....
@Alex

 ha scritto nel messaggio 
news:1150870935....@y41g2000cwy.googlegroups.com...

ok allego la versione finale
Sub OreOnOff(ParsSettLav As String, parAcceso As Boolean, _
                                    parStrOre As String)
   Dim intIndice As Integer, ccc As Control
   Dim ModVarOre As Variant, modStrOre As String
    On Error GoTo OreOnOff_ERR
            'se nello stringone ci sono dei cancelletti # allora divido in 
ore
        If InStr(parStrOre, "#") > 0 Then
            ModVarOre = Split(parStrOre, "#")
        Else
            ModVarOre = ""
        End If
    For Each ccc In Forms("mCalendarioAlVolo").Controls
        If ccc.Tag = "ore" Then
            intIndice = Right(ccc.Name, 1)
            If InStr(ParsSettLav, Right(ccc.Name, 1)) > 0 Then
                ccc.Visible = parAcceso
                'ccc = "xxx"
              'ccc.Repaint
                If parStrOre <> "" Then
                If UBound(ModVarOre) > 0 Then
                    modStrOre = ModVarOre(intIndice * 2 - 1)
                    'MsgBox modStrOre
                    'ccc.SetFocus
                    ccc.Value = Str(modStrOre)
                End If
                End If
            Else
                ccc.Visible = False
            End If
        End If
    Next ccc
Exit Sub
OreOnOff_ERR:
    MsgBox "errore " & Err.Number & vbLf & Err.Description
    Resume Next
End Sub
ciao