Newsgroup: it.comp.appl.access
Titolo: focus da casella di riepilogo a sottomaschera

Salve a tutti.
Ho una form "frmfatture" per l'emissione delle fatture.
Nella form ho una una sottomaschera per l'inserimento degli articoli.
In alto ho una casella di riepilogo degli articoli già inseriti.
Su evento clic della casella di riepilogo ho messo il codice per variare nella sottomaschera l'articolo selezionato.
Solo che il focus anziché spostarsi nella sottomaschera, mi apre la sottomaschera in una nuova finestra.
Il codice è:
Dim stDocName As String
Dim St LinkCriteria As String
stDocName = "smrighefattura"
stLinkCriteria = "   [nume riga]=" & Me![Elenco232]
docmd.OpenForm stDocName, , , StLinkCriteria
Cosa devo cambiare nel comando OpenForm?
Grazie.
Giuseppe


Il comando OpenForm serve, infatti, ad aprire (Open) una maschera (Form).
 
Se la maschera si chiama Maschera1, dovrai scrivere
Forms!Maschera1!smrighefattura.SetFocus
Se il codice è nel modulo di Maschera1, basta scrivere:
Me.smrighefattura.SetFocus
 
Perché invece smrighefattura contenga i dati che hai messo in StLinkCriteria, invece, bisogna che l'origine dati contenga un codice del tipo:
SELECT * FROM <nometabella> WHERE "   [nume riga]=" & Forms!Maschera1![Elenco232])
Qui non si può usare Me. come riferimento alla maschera.
 
Buon lavoro
Ricardo Baldinotti


Chiedo scusa ma il lunedì non mi vede in forma.
Capisco ora che in smrighefattura hai già l'elenco degli articoli e ne devi selezionare uno.
In tal caso, dopo la
Me.smrighefattura.SetFocus
puoi fare un
Me.smrighefattura.Form![nume riga].SetFocus
DoCmd.FindRecord Me![Elenco232]
 
Buon lavoro 
Ricardo Baldinotti


Funziona.
Grazie Riccardo.
Una curiosità:
la sottomaschera per l'inserimento degli articoli è collegata alla maschera principale attraverso il campo master ID;
quando il focus è sulla casella di riepilogo appena pigio il tasto freccia su o giu, il focus si sposta nella sottomaschera sulla riga corrispondente. 
Io vorrei invece scorrere con i tasti freccia le righe e solo su evento click o premendo il tasto invio passare il focus alla sottomaschera.
C'è qualche soluzione?
Saluti, Giuseppe.


In tal caso bisogna che non ci sia il collegamento tramite il campo master ID.
 
A quel punto, il codice di cui abbiamo parlato sarà l'unico ad agire.
 
Buon lavoro 
Ricardo Baldinotti


Ciao Riccardo.
Cioè dovrei togliere il collegamento tra maschera e sottomaschera, e quando inserisco un articolo nella fattura devo, su conferma, mettere il codice
me.id
 = forms!
frmfatture.id
 
e la casella di riepilogo a quel punto mi farebbe scorrere gli articoli già inseriti e facendo click o invio sulla riga selezionata andare in variazione articolo nella sottomaschera?
Grazie.
Giuseppe

 > > > > 
 > > > 

Non ho capito. I dati della fattura, li scrivi nella maschera? Me.id contiene l'id della fattura? Se quel Me si riferisce alla maschera, in tal caso, perché duplicarvi il dato già presente in forms!
frmfatture.id
, e oltretutto io scriverei forms!frmfatture!id
Ciao
Riccardo Baldinotti


Ciao Riccardo, scusa il ritardo.
In pratica togliendo il codice da evento click e mettendolo a evento doppio click o su tasto giù ho risolto. 
Grazie e saluti.
Giuseppe.