Newsgroup: it.comp.appl.access
Titolo: riferimeto a nome di campo contenuto in casella combinata

Come faccio a fare riferimento al contenuto di un campo il cui nome è
indicato in una casella combinata?
Grazie.


Salve Buonuomo
Se la tua casella combinata si chiama Combo1 Me(Me.Combo1) si riferisce al
controllo il cui nome è indicato in Combo1 infatti l'istruzione Debug.print
Me(Me.Combo1) stama il contenuto del controllo il cui nome è indicato in
Combo1
Ciao Giorgio.

 ha scritto nel messaggio
news:b4g67f$6oa$1...@lacerta.tiscalinet.it...

Grazie, specialmente per la tempestività, ma...
non credo di essermi spiegato correttamente inquanto a me serve aprire una
maschera filtrando i dati con dei valori di campi selezionati in un'altra
maschera
Ho Provato scrivendo quanto segue
Function Apri_Clienti_selezionati()
On Error GoTo Apri_Clienti_selezionati_Err
    DoCmd.OpenForm "clienti1", acFormDS, "",
"(me.CasellaCombinata0)=[Forms]![RicercaClienti]![Testo2]", , acNormal
Apri_Clienti_selezionati_Exit:
    Exit Function
Apri_Clienti_selezionati_Err:
    MsgBox Error$
    Resume Apri_Clienti_selezionati_Exit
End Function
ma il risultato è stato la richiesta di inserimento del valore di
CasellaCombinata0
Potresti dirmi dove sbaglio?

 ha scritto nel messaggio
news:I9Naa.191450$YG2.5...@twister1.libero.it...

Ciao
Prova a comporre la stringa WHERE così
DoCmd.OpenForm "clienti1", acFormDS, "",(me.CasellaCombinata0) & "=" &
Chr(34) & [Forms]![RicercaClienti]![Testo2] & Chr(34), , acNormal
Se il campo è numerico togli i chr(34)
Per aiutarti dichiara una variabile e inserisci il filtro WHERE
Dim StrFiltro as String
StrFiltro=(me.CasellaCombinata0) & "=" & Chr(34) &
[Forms]![RicercaClienti]![Testo2] & Chr(34)
Se il campo è numerico togli i chr(34)
'Provi a stamparla per controllore se è Ok
Debug.print StrFiltro
'e apri il form
DoCmd.OpenForm "clienti1", acFormDS, "",StrFiltro, , acNormal
Ciao Giorgio


Ho provato in entrambi i modi ma ottengo un errore di compilazione :
"Utilizzo non valido della parola chiave Me"
????


Ciao
Me è riferita al form che stà eseguendo un determinato evento, evidentemente
il tuo codice viene eseguito in un modulo BAS quindi devi sostituire Me con
il form che contiene il controllo CasellaCombinata0 come hai fatto per
Testo2.
Forms("NomeForm").CasellaCombinata0 al posto di Me.CasellaCombinata0
Ciao Giorgio.

 ha scritto nel messaggio
news:b4gk5e$e1t$1...@lacerta.tiscalinet.it...

Grazie Giorgio ma nonostante i tuoi suggerimenti non ce l'ho ancora fatta e
ti assicuro di averne fatti tanti di tentativi l'ultimo dei quali è :
    DoCmd.OpenForm "Clienti", acFormDS, "", Forms![Clienti].campo =
[Forms]![RicercaClienti]![Testo2] & Chr(34)
dove campo è una stringa così impostata
campo = [Forms]![RicercaClienti]![CasellaCombinata0]
Comunque ciò che voglio fare è aprire la maschera Clienti filtrata
attraverso una maschera RicercaClienti  che contiene
1) una casella combinata dalla quale seleziono il nome del campo da filtrare
2) una casella di testo nella quale si inserisce il testo da ricercare
3) un pulsante TROVA
c'è qualche altro sistema per farlo??
Grazie ancora, ciao.


Ciao
Ripartiamo da 0
Un esempio di stringa Where potrebbe essere "RSociale='De Franchi'"
Dove RSociale è il nome del campo dell'origine record del form in qui
vogliamo filtrare il record del Sig De Franchi.
DoCmd.OpenForm "Clienti", acFormDS, "", "RSociale='De Franchi'"
Quindi se il nome del campo è contenuto in una Casella combinata il cui
contenuto è RSociale e il testo da cercare è in Testo2 il cui contenuto è De
Franchi componendo la stringa
StrFiltro=[Forms]![RicercaClienti]![CasellaCombinata0] & "=" & Chr(34) &
[Forms]![RicercaClienti]![Testo2]  & Chr(34)
e stampandola con Debug.print StrFiltro dovresti ottenere
RSociale="De Franchi"
Quindi apri il form DoCmd.OpenForm "Clienti", acFormDS, "", StrFiltro
Ciao Giorgio.