Newsgroup: it.comp.appl.access
Titolo: FilterOn in SubForm?????

Buona serata, sto cercando di realizzare un filtro su di una Sottomaschera.
Spiego meglio.
La Form principale apre con un comando una seconda Form "FrmFoto" (non
associata a nulla, in cui c'è una struttura a schede nativa), nella scheda1
c'è la sottomaschera "FrmDettagli" alla quale dovrei passare un filtro in
base ad un criteri effettuato nella prima maschera.
Riporto il codice:
 stLinkCriteria = xxxxxxx(generico)
        DoCmd.OpenForm "FrmFoto"
        Forms!FrmFoto.FrmDettagli.Filter = stLinkCriteria
        'Forms!FrmFoto.FrmDettagli.FilterOn = True
Sicuramente sbaglio la sintassi, Errore metodi non supportati dall'oggetto,
ma non sò come e perchè.
Ringrazio anticipatamente.
Alex.
-- 
Posted from 
smtp2.libero.it
 [193.70.192.52] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Alex.
Innanzitutto occorre che il controllo sottomaschera contenuto in scheda1 e
che a sua volta contiene la maschera FrmDettagli si chiami  ANCHE LUI
FrmDettagli, visto che è a quello che si fa poi riferimento.
Ciò premesso, prova con:
    Dim stLinkCriteria As String
    stLinkCriteria = qui scrivi un criterio valido
    DoCmd.OpenForm "FrmFoto"
    [Forms]![FrmFoto]![FrmDettagli].Form.Filter = stLinkCriteria
    [Forms]![FrmFoto]![FrmDettagli].Form.FilterOn = True
Dovrebbe funzionare.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Alex.
Non devi confondere il controllo sottomaschera con l'oggetto (maschera) che
esso contiene.
Già dal naming che hai usato si intuisce che questa distinzione non ti è
chiara.
Forms!FrmFoto.FrmDettagli NON è una maschera. E' un controllo (come un
textbox o una label), in quanto tale non dispone della proprietà Filter.
Infatti Forms!
FrmFoto.FrmDettagli.Name
 ti restituisce FrmDettagli cioè il
nome del controllo stesso e non il nome della maschera.
Per accedere ai metodi e alle proprietà dell'oggetto da esso contenuto, il
controllo sottomaschera offre una "porta": l'oggetto Form.
Forms!
FrmFoto.FrmDettagli.Form.Name
 ti restituisce il nome della maschera da
esso contenuto.
Da ciò risulta chiaro che se si volesse accedere all'i-esimo controllo della
maschera contenuta nel controllo sottomaschera si dovrebbe scrivere:
Forms!FrmFoto.FrmDettagli.Form.Controls(i)
Se l'i-esimo controllo si chiama "Controllo_i", si può usare anche
Forms!FrmFoto.FrmDettagli.Form.Controls("Controllo_i")
o più sinteticamente
Forms!FrmFoto.FrmDettagli.Form.Controllo_i
Da ciò dovrebbe essere altresì chiaro che, per accedere allo stesso
controllo, qualora la maschera FrmFoto dovesse essere inserita in un
controllo "sub1" di una maschera "Master", si dovrebbe scrivere
Forms!Master.sub1.Form.FrmDettagli.Form.Controllo_i
HTH
Michele Amato
--
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
Sulla mia pagina personale
http://utenti.worldonline.it/micheleamato
è possibile trovare del materiale relativo ad Access
scritto da me, sia freeware che shareware
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}

Grazie ad entrambi per la collaborazione, mentre scrivevo l'E-mail venivo
folgorato da luce.
Ho realizzato la Form principale non più "Non associata", ma che puntava
alla Tbl dati, poi nella Pag.1 del controllo schede ho riportato i campi che
mi interessavano, nella pag.2 ho aperto una SubForm con campi Master ecc...
Ovviamente l'apertura della Principale ho impostato la condizione "Where" e
come per magia!!!!!!!!!!!!!!!!!!!!!
Grazie in ogni caso per  i chiarimenti, effettivamente ho una leggera
confusione con Metodi e Proprietà.
Ciao Alex.
