Newsgroup: it.comp.appl.access
Titolo: SetFocus solo su primo inserimento

Ho una maschera ( a maschere continue per farla assomigliare a un
foglio dati ) dove devo inserire : data , codice , nome prodotto ( ma
quest'ultimo non mi interessa )
Quando apro la maschera inserisco la data , il codice , dopodichè la
data viene ripetuta "automaticamente" e quindi mi limito a inserire il
codice.
Siccome vorrei fare un passettino in più desidererei che a nuovo
record, sul primo inserimento,   il focus andasse sulla data , al
successivo andasse direttamente sul codice saltando la data.
Faccio un esempio così magari mi spiego meglio: 
-apro la maschera
-schiscio "pulsantino" nuovo record ( >* )
-focus su data
-inserisco data
-<tab> 
-inserisco codice
-<tab>
-Nome prodotto viene inserito automaticamente (salta)
-Data inserita già da prima (salta )
-focus su codice 
-<tab>
-salta nome prodotto e data 
-focus su codice 
-... e così via
Ciao. Fabrizio

 successivo andasse direttamente sul codice saltando la data.
[...]
    Consulta la guida a proposito di:
        Property TabStop As Boolean
            Membro di Access.TextBox
proprieta' che potresti settare a False dopo la prima immissione.
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

proprieta' che potresti settare a False dopo la prima immissione.
In maschera ho fatto:
Option Compare Database
Private Sub txtDataImmissione_AfterUpdate()
Me.txtDataImmissione.DefaultValue = """" & Me.DataImmissione.Value &
"""" End Sub
Private Sub Form_Current()
Forms("sfrqryInvioSchede").Controls("txtDataImmissione").TabStop =
False
End Sub
e funziona,
 impostando però txtDataImmissione : proprietà --> altro --> Selezione
con tabulazione si ( altrimenti non funge ).
Se la voglio usare come sottomaschera ( visto che adesso mi piace così
tanto ), mi da errore di sintassi: dove devo andare a cercare per
capire come correggere il codice ? ( le indicazioni come me l'hai date
prima sono perfette , avendo la guida a pezzi).
Gli insulti sono ammessi fino ad un massimo di sei  :-)
Ciao. Fabrizio

 capire come correggere il codice ?
    Spiacente. Non sono risucito a capire subito cosa tu intendessi e ho
lasciato perdere.


"Fabrizio" <fabrizio...@SPAMtiscalinet.it> ha scritto nel messaggio
news:eg8gpu83lqeud8g97...@4ax.com...

In un modulo creati una variabile pubblica di tipo booleano e chiamala
Pippo.
A fronte dell'evento "Su caricamento" della maschera genera:
Pippo = False
A fronte dell'evento "Dopo inserimento" della tua maschera genera:
Pippo = True
A fronte dell'evento "Su corrente" della maschera genera:
If Pippo = False
    Me!Data.SetFocus
Else
    Me!Codice.SetFocus
End If
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

lasciato perdere.
Don't worry , ho cambiato tutto , per motivi di lavoro e tempo ,
magari in un prossimo futuro ci ritornerň sopra , ho cmq visto un paio
di cose che hai detto sulle sottomaschere in un altro post e ne ho
fatto tesoro.Grazie.
Sto uscendo pazzo! e non č colpa di Amanda.  :-)
Ciao. Fabrizio

End If
Stasera provo ( poi ti faccio sapere ), perchč cmq mi sembra utile in
sottomaschera e , sebbene abbia momentaneamente abbandonato il
"progetto" cosě com'č , potrei usare una cosa simile per un'altra cosa
che devo fare: purtroppo per un po' devo mettere da parte la mia
voglia sfrenata di provare e sperimentare a causa di scadenze di
lavoro imminenti.
Grazie Robč.
Ciao. Fabrizio

successivo andasse direttamente sul codice saltando la data.
**NON LEGGETELO**
-In questo post ho messo il risultato di quello che ho fatto ,
ovviamente risulta piuttosto lungo , oltrettutto il lavoro è
incompleto : siccome però la maschera mi sembrava carina e funzionale
, non sono riuscito a trattenermi -
Per il momento ho fatto così:
Ho una mashera principale (frmPrincipale) dove scorro i clienti ( vi
aggiungero poi una casella di ricerca veloce), da tale maschera apro
con un pulsante la maschera ( a maschere continue )delle schede che ho
inviato fatta così:
Immissione(data)|Codice(testo)|NomeProdotto(testo)|NomeSocietà(testo)
Siccome risulta brutto vedere ripetuto il NomeSocietà , ho ridotto la
casella di testo il più possibile , le ho dato un colore che lo
confonde con lo sfondo bianco e ho bloccato la casella.Ho bloccato
anche NomeProdotto ( sarà spiegato poi perchè), mentre Immissione è
settato a "Selezione con Tabulazione = si".
Tale è il codice:
------------------------------
Option Compare Database
Option Explicit
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me.NomeSocietà.Value = Forms!frmPrincipale!txtNomeSocietà
End Sub
Private Sub Form_Current()
    Forms("frmInvioSchede").Controls("txtImmissione").TabStop = False
End Sub
Private Sub Form_Open(Cancel As Integer)
    Me.cmdInsInvioSchede.SetFocus
End Sub
Private Sub txtImmissione_AfterUpdate()
    Me.txtImmissione.DefaultValue = "'" & Me.txtImmissione.Value & "'"
End Sub
Private Sub cmdExInvioSchede_Click()
On Error GoTo Err_cmdExInvioSchede_Click
   DoCmd.Close
Exit_cmdExInvioSchede_Click:
    Exit Sub
Err_cmdExInvioSchede_Click:
    MsgBox Err.Description
    Resume Exit_cmdExInvioSchede_Click 
End Sub
*Da qui tolgo il gestore di errore per brevità*
Private Sub cmdInsInvioSchede_Click()
..
    DoCmd.GoToRecord , , acNewRec
    Me.txtImmissione.SetFocus
Exit_cmdInsInvioSchede_Click:
    Exit Sub
..
End Sub
Private Sub cmdPreInvioSchede_Click()
..
    DoCmd.GoToRecord , , acPrevious
Exit_cmdPreInvioSchede_Click:
    Exit Sub
..
End Sub
Private Sub cmdSucInvioSchede_Click()
..
    DoCmd.GoToRecord , , acNext
Exit_cmdSucInvioSchede_Click:
    Exit Sub
..
End Sub
----------------------------------------------------
Spiegazione su come la uso :
- all'apertura mette il focus su nuovo record (cmdInsInvioSchede)
-schiscio invio  
-vado sulla data da immettere (txtImmissione) (vedi sotto)
-----------------------------------------------------      
Immissione|Codice|NomeProdotto|NomeSocietà
      ^
- <tab>
-----------------------------------------------------      
Immissione|Codice|NomeProdotto|NomeSocietà
                        ^
- metto il codice
- <tab>
(- il Nome Prodotto esce "automaticamente"( la maschera è fatta su una
query che sfrutta il giochetto delle primary e foreign key), salta
 - il NomeSocietà prende quello sul quale è filtrata la maschera
,salta
 -la data compare quella digitata prima , avendo impostato come
TabStop = false , salta
-----------------------------------------------------      
Immissione|Codice|NomeProdotto|NomeSocietà
                        ^
-Devo immettere un nuovo codice
-<tab>
-----------------------------------------------------      
Immissione|Codice|NomeProdotto|NomeSocietà
                         ^
- e così via
E' una robetta , ma tant'è .
Ciao. Fabrizio