Newsgroup: it.comp.appl.access
Titolo: Requery Maschera Tabellare

Salve a tutti,
sono notti ormai che non riesco a risolvere un problema.
Ho una form principale che non contiene tabelle e, dentro di questa un 
subform tabellare che mi visualizza dei campi della tabella PrimaNota, 
due di questi campi sono delle combo sincronizzate (Gruppo e 
Sottogruppo) che prelevano i dati ciascuna da una tabella
(primo problema è che non riesco a sincronizzarle, quando seleziono la 
prima combo, la seconda mi appare con tutti i record della tabella e non 
filtrate in base alla selezione della combo precedente)
Nella form principale ho inserito 2 caselle di testo e 4 combo (le 
stesse che ho descritto sopra) tramite le quali effettuare un filtro 
nella subform, tramite anche tutte e 6 le selezioni (DataOperazione, 
Nominativo, Gruppo, Sottogruppo, Rirorsa, DataSaldo) tramite un pulsante 
di filtro e tramite un annulla filtro riporto le caselle o combo vuote 
(quest'ultimo funziona).
Il problema è che non sono riuscito a filtrare i record nella stessa 
subform, [dove, vedendo che un movimento non è stato ancora caricato, 
inserisco i primi dati nella subform, poi, tramite un doppioclick sulla 
data, mi apre una maschera dove inserisco tutti i particolari [e il 
doppioclick funziona], ma soltanto aprendo una nuova subform, e poi 
poter aggiungere nuovi record direttamente nella subform filtrata con la 
possibilità, annullando i filtri, di rivisualizzare di nuovo tutti i 
record o fare una nuova selezione.
Qualcuni mi può dire come posso risolvere il problema ??
Grazie in anticipo
ThaiChi

 ha scritto nel messaggio 
news:441dcfce$0$18298$4faf...@reader1.news.tin.it...

Non è che abbia capito molto; se devi effettuare un requery della casella 
combinata nella subform (da un'altra maschera) devi indicare il percorso 
dove è l'oggetto (casella combinata):
Es.
forms!nomeForm!nomeSubForm!nomeCasellaComb.Requery
La sincronizzazione di caselle combinate a cascata avviene tramite la 
gestione dell'evento "dopo aggiornamento" effettuando il requery delle 
caselle combinate.
Quindi se ha i tre caselle combinate cmb1, cmb2 e cmb3;
la cmb1 avrà nell'evento "dopo aggiornamento" il codice:
Me!cmb2.Requery
Me!cmb3.Requery
la cmb2 avrà nell'evento "dopo aggiornamento" il codice:
Me!cmb3.Requery
la cmb3 ovviamente non ha nessun codice perché è l'ultima casella combinata.
La cmb2 e cmb3 deve contenere nella origine riga la condizione che legge il 
valore della casella combinata precedente che determina la selezione dei 
dati.
Nella cmb2 avrà nella condizione il riferimento:
es.
Forms!nomeForm!nomeSubForm!cmb1
Nella cmb3 avrà nella condizione il riferimento:
es.
Forms!nomeForm!nomeSubForm!cmb2
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Quello a cui hai risposto è n problema, lo provo e vedo, l'altro che mi 
assilla maggiormente è come far effettuare una requery ad una 
sottomaschera tabellare che dovrebbe farmi apparire il filtro delle 6 
caselle combinate o di testo in modo da trovarmi solo quei record che 
corrispondono alla selezione, e possibilmente aggiungere anche altri 
record, dopo, quando finito il controllo o l'inserimento, annullare il 
filtro e far riapparire di nuovo tutti i record.
Grazie
ThaiChi

 ThaiChi
Che poi č la cosa piů semplice.
Gestisci l'evento "dopo aggiornamento" delle caselle combinate inserendoci il codice:
'---
Me.FilterOn = false
If Me.Filter <> "" then
    Me.Filter = Me.Filter & " And [nomeCampo] = " & me!nomeCasellaCombinata
else
    Me.Filter = "[nomeCampo] = " & me!nomeCasellaCombinata
end if
Me.FilterOn=true
'---
Ciao.
-- 
Sergio MAZZA 

 
Adesso la requery funziona, solo che quando apro la maschera, i valori 
delle caselle combinate nella form tabellare che ho messo per 
selezionare le voci durante l'inserimento non sono più visualizzati nè 
prima del filtro, nè dopo.
Cosa devo mettere "su corrente" per far si che queste 4 combo 
visualizzino i valori ???
Grazie
ThaiChi

thaichi ha scritto:

Mi spiego meglio,
ho le combo non associate poste sulla form principale per fare da 
filtro, ed un pulsante filtro ed un altro annulla filtro.
Da questo se le combo sono vuote o bianche dovrebbe visualizzare tutti i 
record nella sottomaschera tabellare, altrimenti dovrebbe filtrare a 
seconda della selezione.
La sottomaschera ha come origine dati una query che nei campi che voglio 
usare per il filtro ho inserito quanto segue (riporto solo uno di queste 
righe inserite a titolo di esempio):
Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboNominativo] & "*"
Nella sottomaschera, per agevolare l'inserimento di dati già presenti in 
altre tabelle e, per fare in modo che l'immissione sia sempre uguale, ho 
  inserito delle combo per la selezione del valore che poi viene 
memorizzato nella tabella della prima nota.
Nel pulsante del filtro ho inserito la seguente riga:
  Forms("01 frm 2006 Elenco PrimaNota").[01 subfrm 2006 Elenco 
PrimaNota].Form.Requery
Risultato: Il filtro funziona, nel senso che quando seleziono qualcosa 
nella maschera principale e applico il filtro, mi visualizza i record 
che volevo, quando annullo il filtro (mette le combo vuote e rifà il 
requery funziona,
adesso il problema è che nella sottomaschera tabellare non mi visualizza 
e non mi fa inserire i valori nelle combo in questione, quindi mi 
ritrovo i valori inseriti manualmente negli altri campi e non in quelli 
delle combo che restano vuoti.
Se io la tolgo la stringa like dalla query, la visualizzazione è corretta.
Heeellllppppp !!!!
Grazie
ThaiChi

 ha scritto nel messaggio 
news:442245f6$0$36924$4faf...@reader3.news.tin.it...

Ogni volta che annulli il filtro devi ripristinare quello iniziale; quindi 
invece di annullarlo imposta direttamente il filtro iniziale e basta...
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Scusa Sergio, forse non ho capito, il problema adesso è solo la 
visualizzazione dei valori nelle combo e la possibilità di selezionare 
il valore. I filtri funzionano, credo sia un problema con la query con i 
like. Se mi puoi fare un esempio per farmi capire meglio, leggendo 
quello che hai scritto sul filtro, devo impostare un filtro per ogni 
combo? e il pulsante di selezione del filtro ???
Grazie
ThaiChi

 ThaiChi
Oltre al requery della sottomaschera fai anche il requery delle casella 
combinate...
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Non appaiono i valori neanche quando apro la maschera per la prima volta.
Grazie
ThaiChi

 ThaiChi
Mi si sono ingarbugliate le (poche) sinapsi.
(provo) Faccio un riepilogo:
- maschera principale con caselle combinate e bottone che applica/rimuove un 
filtro alla sottomaschera;
- nella sottomaschera ci sono altre caselle combinate, che a quanto ho (o 
non ho) capito non sono associate e il loro valore dovrebbe condizionare 
l'inserimento dati.
Ci sono?
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Devo aver fatto un poco di confusione, provo a spiegarmi meglio:
- Nella maschera Principale ho delle caselle di testo e delle caselle 
combinate e due bottoni (uno che applica il filtro ed uno che lo toglie) 
che filtrano o meno la sottomaschera.
- Nella Sottomaschera, ci sono altre Caselle Combinate che prendono i 
valori da selezionare da quattro query (Anagrafica, Gruppo, Sottogruppo 
e Risorsa e vanno ad inserire il valore (l'ID) nel Campo IDAnagradico, 
IDGruppo, IDSottogruppo ed IDRisorsa della Tabella PrimaNOta.
In pratica io faccio l'inserimento dei primi dati in questa 
Sottomaschera e alcuni di questi dati li inserisco tramite le 4 caselle 
combinate di cui sopra, poi, una volta memorizzato il record tramite il 
doppio clic sulla data, apro un'altra maschera per l'inserimento di 
tutti i dati. Chiudendo quest'ultima maschera mi ritorna sulla 
sottomaschera sul record selezionato in precedenza.
La sottomaschera prende i dati da una query dove, nei campi dove vengono 
inseriti i dati delle combo c'č il criterio seguente:
Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboNominativo] & "*"
Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboGruppo] & "*"
Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboSottogruppo] & "*"
Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![txtDataOperazione] & "*"
Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboRisorsa] & "*"
Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![txtDataSaldo] & "*"
Adesso il problema che mi si pone č che quando apro la maschera [01 frm 
2006 Elenco PrimaNota] con la sottomaschera [01 subfrm 2006 Elenco 
PrimaNota] la query legata alla sottomaschera dovrebbe visualizzare i 
valori inseriti in precedenza (la sottomaschera č Tabellare), compresi 
quelli che sono stati inseriti tramite le combo, invece, non visualizza 
quelli delle combo, non solo, non mi permette di inserire valori 
diversi, rimangono i campi in bianco e mi fa selezionare il valore ma 
non lo inserisce e non fa il completamento automatico.
Nell'evento [sucorrente] della sottomaschera ho inserito
Me!cboSottogruppo.Requery
in quanto la combo Gruppo e Sottogruppo sono sincronizzate.
Il resto dovrebbe funzionare tutto.
Spero di essere stato un poco piů chiaro.
Grazie
ThaiChi

thaichi ha scritto:


  inseriti i dati delle combo c'è il criterio seguente:
  Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboNominativo] & "*"
  Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboGruppo] & "*"
  Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboSottogruppo] & "*"
  Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![txtDataOperazione] 
& "*"
  Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![cboRisorsa] & "*"
  Like "*" & [Forms]![01 frm 2006 Elenco PrimaNota]![txtDataSaldo] & "*"
  Adesso il problema che mi si pone è che quando apro la maschera [01 frm
  2006 Elenco PrimaNota] con la sottomaschera [01 subfrm 2006 Elenco
  PrimaNota] la query legata alla sottomaschera dovrebbe visualizzare i
  valori inseriti in precedenza (la sottomaschera è Tabellare), compresi
  quelli che sono stati inseriti tramite le combo, invece, non visualizza
  quelli delle combo, non solo, non mi permette di inserire valori
  diversi, rimangono i campi in bianco e mi fa selezionare il valore ma
  non lo inserisce e non fa il completamento automatico.
  Nell'evento [sucorrente] della sottomaschera ho inserito
  Me!cboSottogruppo.Requery
  in quanto la combo Gruppo e Sottogruppo sono sincronizzate.
  Il resto dovrebbe funzionare tutto.
  Spero di essere stato un poco più chiaro.
  Grazie
  ThaiChi