Newsgroup: it.comp.appl.access
Titolo: problema con Requery

Lavoro con Acc 97.
Sull'evento dopo aggiornamento di un controllo in una Forms ho il seguente
codice:Forms![Mia maschera]![mia sottomaschera]![Mia casella di
riepilogo].Requery. Questa casella di riepilogo recupera i dati da una
query.
Il problema č che per aggiornare effettivamente i dati in questa casella di
riepilogo, devo modificare per due volte il valore del mio controllo, non č
sufficiente farlo una volta sola.
A voi maestri...
Grazie


appunto, spera ti risponda qualcun altro


Serve qualche notizia in più, visto che il codice VBA è formalmente esatto:
1) Il codice SQL della query che è origine riga della casella di riepilogo.
2) Il nome della maschera
3) Il nome del controllo della maschera
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------


prova ad inserirlo su Uscita
ciao
Riccardo

Cos'č il codice SQL?


John L. Viescas scrive:
Alla base di tutte le query di Microsoft Access si trova il linguaggio di
comando per database SQL. Sebbene gran parte delle query si possa costruire
usando la semplice griglia di struttura di Access, tutte le query che
vengono così costruite sono memorizzate da Access sotto forma di linguaggi
SQL.
Qui finiscono le citazioni di un esperto.
Poichè non è facile spiegare in un post cosa contenga la griglia della
struttura di una query, normalmente ci si scambia il suo codice SQL, che
essendo uno script è facile da scrivere.
Per vedere il codice SQL di una query apri la sua struttura quindi dal menu
Visualizza seleziona Visualizzazione SQL: evidenzia lo script e con
copia-incolla riportalo nel tuo post.



[CUT]
Scusami ma ho commesso un errore di trascrizione.
John L. Viescas scrive:
Alla base di tutte le query di Microsoft Access si trova il linguaggio di
comando per database SQL. Sebbene gran parte delle query si possa costruire
usando la semplice griglia di struttura di Access, tutte le query che
vengono così costruite sono memorizzate da Access sotto forma di *comandi*
SQL.


Roberto da casa ha scritto nel messaggio ...

Eccolo qui:
SELECT Cerco.IDMacchina, Cerco.IDCerco, Cerco.IDCliente, Cerco.[Data
reperimento]
FROM Cerco
WHERE (((Cerco.IDMacchina)=[Forms]![Clienti]![Registrazioni
contovendita]![IDMacchina]) AND ((Cerco.[Data reperimento]) Is Null));
Grazie anche per la spiegazione SQL


E la risposta al punto 2) e 3) della mia domanda?




Hai ragione scusami...
1)SELECT Cerco.IDMacchina, Cerco.IDCerco, Cerco.IDCliente, Cerco.[Data
reperimento]
FROM Cerco
WHERE (((Cerco.IDMacchina)=[Forms]![Clienti]![Registrazioni
contovendita]![IDMacchina]) AND ((Cerco.[Data reperimento]) Is Null));
2) [Forms]![Clienti]![Cerco]   - (l'ho messo cosě per far capire meglio di
cosa si tratta)
3) [ElencoContovendita]
Cosě dovrebbe andare,
Grazie
Cosě dovrebbe andare


Dalla tua risposta leggo che i risultati della query, che č origine record
della tua casella di riepilogo, cambiano al variare del valore contenuto nel
controllo [IDMacchina] contenuto nella sottomaschera [Registrazioni
contovendita] a sua volta contenuta nella maschera primaria [Clienti].
Se cosě stanno le cose, non capisco il motivo per cui ti aspetti di vedere
cambiati i risultati della query dopo il requery effettuato al variare del
contenuto di un controllo che con i parametri della query sembrerebbe non
entrarci affatto ( controllo [ElencoContovendita] contenuto nella
sottomaschera [Cerco] della maschera [Clienti]).
Mi viene voglia di ipotizzare che tra il primo ed il secondo requery in
qualche maniere viene cambiato il contenuto di IDMacchina.
O sbaglio?


contovendita] a sua volta contenuta nella maschera [Clienti], in realtà è
un controllo calcolato che viene trovato in base ad una funzione DLookup
legata a tre altri controlli (Marca, Modello, Tipo) contenuti nella medesima
sottomaschera. Vorrei che ogniqualvolta uno di questi 3 controlli viene
modificato (e di conseguenza anche l'IDMAcchina), venga effettuata una
Requery nella casella di riepilogo contenuta nella sottomaschera [Cerco] a
sua volta contenuta nella maschera [Clienti].
Grazie ancora per l'intramontabile attenzione

 ha scritto nel messaggio
news:trL86.61467$eB2.5...@news.infostrada.it...

Prova così.
Se la Dlookup l'hai scritta nell'origine controllo di IDMacchina, la requery
scrivila a fronte degli eventi "Dopo aggiornamento" dei tre controlli; se
invece la DLookup l'hai scritta a fronte degli eventi "Dopo aggiornamento"
dei tre controlli, la requery scrivila subito dopo ogni funzione DLookup.


dei tre controlli.
Ho provato come dici, ma ancora niente.
La cosa che non riesco a spiegarmi č perchč nella sottomaschera cerco,
nell'evento dopo aggiornamento di uno di questi 3 controlli (li ho su
entrambe la sottomaschere) con una funzione del genere Me![mio
controllo].Requery la cosa funziona.
Mi sa che ci passerň tutta la notte...

 Mi sa che ci passerò tutta la notte...
Quotiamo uno zinzinello appena appena di meno?
Antonio


What's *zinzinello* ? Di dove sei Antonio?
Ciao
LaLo

LaLo <reg...@LLtin.it> wrote in message 9415uc$hv$1...@pluto.sm.dsi.unimi.it...

Di Ci-Vi-Ta-Vec-Chia (lo scandire ti potrà essere spiegato da qualche altro
vecchio del NG :-P )
Dicesi zinzinello una quantità estremamente piccola, ma usato in senso uno
zinzinello ironico perchè in realtà si vuole intendere una buona quantità.
Non mi pare però che sia civitavecchiese, mi sa che l'ho imparato a Pisa,
dove ho universato... e quindi chissà di che origine è...
Antonio


L'intreccio logico tra maschera, sottomaschere, caselle di riepilogo e
funzioni DLookup è abbastanza complicatello; certo è che devi effettuare la
requery dopo che il valore di IDMacchina sia cambiato.
Puoi provare (dopo di che mi arrendo), ad effettuare, prima del requery
della casella di riepilogo, il requery del controllo sottomaschera
(Forms![NomeMaschera]![NomeControlloSottomaschera].Requery) che contiene la
sottomaschera che contiene a sua volta la casella di riepilogo incriminata.


Roberto dal portatile ha scritto nel messaggio ...

Anche questo non va,
se troverò la soluzione ve lo farò sapere
Un ringraziamento speciale a Roberto
Ciao

vespamu ha scritto nel messaggio ...

Ho risolto il problema mettendo l'istruzione di Requery nell'evento su
timer, così ogni secondo ho una Requery. Non è il massimo, ma perlomeno
funziona e ho il controllo sempre aggiornato.
Ciao


OK, visto che l'importante č risolvere; poi se esce anche la soluzione
elegante.....
