Newsgroup: it.comp.appl.access
Titolo: Richiamare in una maschera tutti i campi di un record selezionato da listbox

Ciao a tutti.
Ho una maschera associata ad una tabella. Tramite un pulsante apro un'altra
maschera con una listbox che riporta tutti i record. Vorrei tramite l'evento
dblclick della listbox che nella maschera originaria comparissero i dati del
record selezionato.
Una cosa simile la faccio giŕ utilizzando DLookUp ma lo faccio per una
casella di testo solo. Pensavo perciň di utilizzare un ciclo For...next ma
volevo sapere se c'č un modo piů corretto.
Grazie
Ciao

 ha scritto nel messaggio 
news:452f8ee6$0$39880$4faf...@reader4.news.tin.it...

Ma vuoi che si apra la Form sul record specifico che hai selezionato? Bhč, 
DoCmd.OpenForm "Tua_Form", , , "[ID]=" & Me![Tua_ListBox] 

 Ciao
Partiamo dal fatto che la 2° Form la dovresti aprire in modalità
acDialog, ed invece di chiuderla
elimini i Pulsanti di chiusura, su Dbl_Click della ListBox esegui un
Me.Visible=False
Su un CommandButton che ti creerai per chiudere la Form senza selezione
scriverai su Click:
Me.NomeListBox=Null
Me.Visible=False
Avendo eseguito la Maschera(2) in modalità Dialog il codice viene
sospeso, e riprende solo
quando questa diventa NON VISIBILE.
Quindi dopo il Docmd.Openform ec.c..... applichi il filtro:
Me.FilterOn=False
Me.Filter="NomeCampo=" & Forms!NomeForms2!NomeListBox
Me.FilerOn=True
@Alex

 ha scritto nel messaggio
news:1160745932.0...@h48g2000cwc.googlegroups.com...
r4gtl ha scritto:



Me.NomeListBox=Null
Me.Visible=False



@Alex
Non voglio apparire come il solito zuccone ma il fatto è questo. La maschera
"Ricerca" è una cosa un pò particolare che ho fatto io pensandoci parecchio
perchè non sono molto ferrato in Access.Ho creato una tabella con tutte le
caratteristiche che deve avere la maschera comprese le origini dei dati.
Perciò, grazie ad una variabile che creo ogni volta che pigio un pulsante
che chiami la maschera "Ricerca", vado a cercare il nome corrispondente su
quella tabella. Così con una sola maschera, riesco a ricercare tutti i dati
che mi servono nella mia applicazione. Ad esempio: se cerco i fornitori la
maschera "Ricerca" si popola con  le anagrafiche dei fornitori; se cerco
clienti si popola con i clienti; se cerco "prodotti" si popola con i
prodotti e così via. Finora l'ho usata per completare la sola casella
descrittiva di quello che cercavo:
Private Sub Elenco_DblClick(Cancel As Integer)
            Dim strTxt1 As String
            Dim strTxt2 As String
            strTxt1 = "ID" & DLookup("Nome", "T_Ricerca", "Nome ='" &
NomeMaschera & "'")
            strTxt2 = "Testo" & DLookup("Nome", "T_Ricerca", "Nome ='" &
NomeMaschera & "'")
            Forms(MascheraCorrente)(strTxt1) = Me!Elenco.Column(0)
            Forms(MascheraCorrente)(strTxt2) = Me!Elenco.Column(1)
            DoCmd.Close acForm, "Ricerca"
End Sub
Però adesso è sorta la necessità di compilare tutti i campi della maschera
al momento attiva. Quindi da una maschera aperta chiamo la maschera ricerca;
seleziono con dblclick chiudendo la maschera "Ricerca" e vado a compilare i
campi associati nella maschera originaria. Pensavo di mettere la condizione
che se il pulsante premuto si chiama Pippo vatti a cercare i dati e completa
la maschera.
Potrei fare così: dichiaro una variabile pubblica in un modulo:
Dim strPulsantePigiato as string
poi nell'evento su click del pulsante gli dico
pulsantepigiato="BTN_ELENCO"
poi nell'evento dblclick della listbox:
Private Sub Elenco_DblClick(Cancel As Integer)
            Dim strTxt1 As String
            Dim strTxt2 As String
            If PulsantePigiato="BTN_ELENCO" then
            form!NomeMaschera!IDPersona=Me!Elenco0.column(0)
            Qui in mezzo non c'è qualcosa che ci si può mettere per
completare la maschera?
            exit sub
            end if
            strTxt1 = "ID" & DLookup("Nome", "T_Ricerca", "Nome ='" &
NomeMaschera & "'")
            strTxt2 = "Testo" & DLookup("Nome", "T_Ricerca", "Nome ='" &
NomeMaschera & "'")
            Forms(MascheraCorrente)(strTxt1) = Me!Elenco.Column(0)
            Forms(MascheraCorrente)(strTxt2) = Me!Elenco.Column(1)
            DoCmd.Close acForm, "Ricerca"
End Sub
Grazie
Stefano