Newsgroup: it.comp.appl.access
Titolo: Msgbox risolve problema ?!?

Ciao a tutti,
innanzitutto scusate per il subject ma non sapevo cosa scrivere.
Ho una maschera con una combo nella cui origine riga ho quattro campi.
Cliccando sull'etichetta della combo vorrei che la larghezza dei campi
variasse, e ce l'ho fatta con la proprietà .columnwidths, solo che io
vorrei fare in modo che cliccando una prima volta mi si impostino i campi
ad una larghezza X, ricliccando ad una larghezza Y, ricliccando ad una
larghezza X,ricliccando ad una larghezza Y, e così via.
io ho scritto:
Private Sub MiaCombo_GotFocus()
    If FlagMiaCombo = "S" Then
        Me.MiaCombo.ColumnWidths = "0;6 cm;4 cm;4 cm"
        SendKeys "{F4}"
    Else
        Me.MiaCombo.ColumnWidths = "2 cm;6 cm;4 cm;4 cm"
    End If
    ***
    Me.MiaCombo.Dropdown
End Sub
Private Sub MiaCombo_Etichetta_Click()
    If FlagMiaCombo = "S" Then
        FlagMiaCombo = "N"
    Else
        FlagMiaCombo = "S"
    End If
    Me.TxtSetFocus.SetFocus
    Me.MiaCombo.SetFocus
End Sub
(txtsetfocus è una testbox che mi serve per spostare il setfocus da un
campo all'altro senza causare eventi indesiderati)
(FlagMiaCombo lo setto = "N" sul load della maschera)
e non funziona... o meglio mi mantiene sempre la prima combinazione di
larghezze in base allo stato del flag che c'è la prima volta che clicco.
Ma la cosa più curiosa è che ho trovato un "barbatrucco" inspiegabile con
cui il tutto funziona.
Praticamente inserisco un msgbox e un sendkeys "{ENTER}" dove ci sono i
tre asterischi(*).
Ora la mia domanda è:perchè così funziona????????????
Scusate se sono stato un pò prolisso
Grazie in anticipo per le eventuali risposte e buon lavoro
-- 
Dario
--
Il bello della vita è vivere:
molti esistono, ecco tutto.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:bv5klg$hrs$1...@news.newsland.it...


 ha scritto nel messaggio
news:bv5klg$hrs$1...@news.newsland.it...

(Scusate il messaggio vuoto)
non ho ben capito se vuoi incrementare i valori ad ogni click sulla
etichetta, oppure hai già definito delle misure standard da applicare. A
parte questo io ho fatto questa prova:
Private Sub Etichetta4_Click()
'--> stringa originale 2,54cm;2,54cm;2,54cm;2,54cm
Me!CasellaCombinata2.ColumnWidths = "1cm;2,54cm;2,54cm;2,54cm"
End Sub
e la dimensione è cambiata...
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
Ciao Sergio, innanzitutto grazie per l'interessamento.
Provo a spiegarmi meglio:
le due misure sono standard, o meglio le ho gia definite.
ad ogni click le misure cambiano, praticamente ad ogni click le due misure
da me già impostate e costanti si alternano. questo mi serve per fare in
modo che l'utente del programma possa cambiare "visualizzazione" con un
semplice click sull'etichetta.
la procedura in effetti funziona già, il problema è che per funzionare
devo inserire un msgbox. cioè, se non lo inserisco ad ogni click le misure
non si alternano, rimane la prima impostata, mentre se inserisco il
msgbox(con relativo sendkeys ENTER per dare l'OK automaticamente) le
misure si alternano.
In parole povere, senza il msgbox sembra che il programma si "dorma" delle
istruzioni, mentre se glielo metto sembra che interrompendosi per la
visualizzazione del msgbox "veda" le istruzioni per "l'alternamento".
questo problema del msgbox che mi risolve dei problemi l'avevo già avuto
in passato con altri programmi, solo che non l'avevo mai chiesto sul NG.
Spero di essere stato chiaro
Ancora grazie per la risposta
Ciao 


 ha scritto nel messaggio
news:bv7rnc$80u$1...@news.newsland.it...

E' strano, io l'esempio che provato non necessita di nessun artificio;
clicco sull'etichetta, apro la casella combinata e trovo la colonna con la
nuova dimensione.
Io però utilizzo acc'97...
Ciao.
--
Sergio MAZZA