Newsgroup: it.comp.appl.access
Titolo: Aprire una maschera con.....

volendo aprire una maschera SENZA MODALITA' FILTRO e cioč solo con
me.recordsetclone.findfirst ecc... da una casella di riepilogo magari
associata con un doppio click, come devo agire?
Es. - sono in casella riepilogo, scelgo il record da visualizzare, faccio
doppio click e mi apre la maschera sul quel record. Con il comando
docmd.openform " ecc..., funziona benissimo ma entra in modalitŕ filtro.
Posso ottenere lo stesso risultato con la funzione recordset senza attivare
il filtro? Cioč, la maschera che dovrŕ aprirsi deve andare direttamente al
record prima selezionato. (ho provato ad inserire la funzione dopo
l'apertura, in filtro, ma non funziona)
Help me!
Grazie!


Non capisco perchè tu non voglia filtrare direttamente la maschera, comunque
io mi memorizzerei (con il doppio clic) in una casella di testo non
associata chiamata Pippo (contenuta nella maschera che contiene anche la
casella di riepilogo) la chiave primaria del record da visualizzare.
Creerei quindi una query di selezione basata sulla tabella che contiene il
record da visualizzare e userei nei criteri della query il controllo Pippo;
a questo punto la query conterrà solo il record desiderato. Alla maschera di
visualizzazione dai come origine record la query in questione ed aprila sul
doppio clic dopo aver memorizzato il valore della chiave primaria in Pippo.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Per prima cosa non capisco perchè non abbiamo continuato il dialogo sul NG;
una delle regole del nostro NG è che i frequentatori non possono dialogare
su Access in privato.
Forse ho capito cosa vuoi.
Ipotizziamo che la maschera di visualizzazione (Maschera1) abbia come
origine record una tabella (Tabella1) che a sua volta ha come chiave
primaria un contatore chiamato IDNominativo.
Inserisci la casella di riepilogo anziché in una maschera a parte,
nell'intestazione di Maschera1.
Ipotizziamo che la casella di riepilogo si chiami Elenco4 e abbia due
colonne di cui la prima contiene IDNominativo e la seconda il relativo nome
(naturalmente la casella di riepilogo sarà basata o su Tabella1 o su una
query su essa basata).
A fronte dell'evanto "Su clic" della casella di riepilogo Elenco4 genera il
seguente codice VBA:
Private Sub Elenco4_Click()
Dim rst As Recordset, Crit As String
Crit = "[IDNominativo]=" & Me!Elenco4.Column(0)
Set rst = Me.RecordsetClone
rst.FindFirst Crit
Me.Bookmark = rst.Bookmark
End Sub
A questo punto apri Maschera1, clicca con il mouse su un nominativo che ti
compare nella casella di riepilogo; nel corpo della maschera ti comparirà il
record selezionato nella casella di riepilogo.
Non te la prendere, ma se invierai altri messaggi su Access al mio indirizzo
e-mail non riceverai risposta.



Se poi vuoi proprio lasciare la casella di riepilogo in una maschera
separata e aprire la maschera con cui normalmente fai l'aggiornamento e
questa maschera si chiama Maschera2, fermo restando la struttura della
casella di riepilogo discussa nei messaggi precedenti e fermo il fatto che
la chiave primaria della tabella su cui è basata Maschera2 si chiama
IDNominativo, se la casella di riepilogo si chiama Pippo, a fronte
dell'evento "Su clic" di Pippo genera il seguente codice VBA:
Private Sub Pippo_Click()
DoCmd.OpenForm ("Maschera2")
Dim rst As Recordset
Dim StrCrit As String
StrCrit = "[IDNominativo]=" & Me!Pippo.Column(0)
Set rst = [Forms]![Maschera2].RecordsetClone
rst.MoveLast
rst.FindFirst StrCrit
[Forms]![Maschera2].Bookmark = rst.Bookmark
rst.Close
Set rst = Nothing
End Sub