Newsgroup: it.comp.appl.access
Titolo: access che ordine usa nel ciclare i controlli su una forms

Buonasera a tutto il NG.
Ho un quesito da porvi. Uso il codice seguente in una funzione al fine di 
controllare se i controlli vengono debitamente riempiti:
Dim ctl As Control
For Each ctl In Forms("mprovvGuida").Controls
      If ctl.ControlType = acTextBox Then
         If ctl.Enabled = True Then 'GoTo ciao
            If ctl.Tag = "E" Then
               If ctl.Name = "Testo64" Then GoTo ciao
                   If ctl.Value = "" Or IsNull(ctl.Value) Then
                      MsgBox "il campo " & ctl.Name & " è obbligatorio", 
vbCritical, "Controllo Numero di Protocollo"
                                    If vbOK = vbOK Then 
Forms!mprovvGuida.Comando48.Enabled = False
                                       If vbOK = vbOK Then Cancel = True
                                          ctl.SetFocus
                                          ctl.BackColor = RGB(250, 0, 0)
                                          Forms!mprovvGuida.AllowEdits = 
True
                                          Forms!mprovvGuida.CasellaControllo83.Value 
= False
                                          CONTROLLA = False
                                          Exit Function
                                       Else
                                          ctl.BackColor = RGB(300, 300, 350)
                                          CONTROLLA = True
                                          End If
                                     End If
                   End If
         End If
Next ctl
i controlli vengono effettivamente ciclati e controllati, solo che cio' non 
avviene in ordine cioe' uno dietro l'altro.
Ho controllato e per quanto riguarda il tab è tutto messo in ordine, ma 
comunque il ciclono avviene in modo disordinato.
Allora mi chiedevo in che ordine access svolge il ciclo sui controlli? C'è 
un modo per far si che cio' avvenga in modo sequenziale come il tab?
Grazie a chiunque vorra' illuminarmi.
-- 
Ciao
Access

"Access" <c...@tin.it.invalid> ha scritto nel messaggio 
news:s1Zzi.95091$%k.23...@twister2.libero.it...

I controlli vengono ciclati così come previsto quando li hai inseriti nella
maschera ma dando priorità al tipo 109 (casella di testo) poi al 100
(Etichetta).
Il fatto è che durante la costruzione della maschera molti controlli vengono
spostati o aggiunti o ritabulati...e quindi si perde l'ordine iniziale.
Per provare questo puoi benissimo inserire una serie di controlli in una
nuova maschera e provare il codice da te postato...vedrai che l'ordine è
quello: prima la casella di testo del primo controllo poi la sua label...
Ciao, Carlo

 ha scritto nel messaggio
news:fapob3$h1p$1...@tdi.cu.mi.it...

Ok. Innazitutto grazie per l'interessamento.
Per cui, io sulla form ho varie textbox:
Nprot
cognome
nome
luogoNascita
ecc...
se ometto di inserire i dati nelle textbox durante il ciclo di controllo si 
evidenzia la
textbox cognome, quando invece avrebbe dovuto segnalare per primo la textbox
Nprot.
in che modo si puo gestire l'ordine, bisogna perforza spostare i controlli 
nel modo in cui stavano inizialmente?
o c'è un modo per restituire l'ordine?
grazie ancora.
-- 
Ciao
Access

 Access
Una soluzione può essere quella di calcellarli e poi rimetterli tutti
nell'ordine corretto dopo aver chiuso
e salvato la maschera... sembra un lavoraccio ma è una cosa molto veloce...!
ALTERNATIVA alla proprietà TAG:
Tieni presente che spesso può servire verificare la prorpietà [TabStop] o la
proprietà [Visible]
o la proprietà [ControlSource] in AND con il controllo per far ciclare il
Test in questione solo
sui controlli...!
Noto che usi nomi dei controllo assolutamente [INSIGNIFICANTI] come
[Testo64] ecc...
E' bene adottare una metodologia curata e fissa che ti porterai negli
anni... altrimenti tra 4 anni
quando riguardi il codice e leggi [Testo64] non ci capisci più nulla.
I nomi definiti Parlanti sono spesso la cosa migliore...
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------


Potresti far riferimento alla proprietą TabIndex, nel senso che all'interno del tuo ciclo potresti 
implementare una procedura che "forzi" la crescenza del TabIndex, o addirittura basare una nuova 
funzione proprio su TabIndex.
Con TabIndex non puoi sbagliare perchč rispecchia l'ordine di tabulazione da te impostato. 

 ---------------------------------------------------------------------------
-- 
Ciao
Access

 da te impostato.
Ma i controlli per quanto riguarda il tab sono in ordine e solo che il ciclo 
non rispetta l'ordine tabindex.
Comunque faccio delle prove.
Grazie tante.
-- 
Ciao
Access 

 
-- 
ac
y-1=x

 y-1=x
-- 
Ciao
Access