Newsgroup: it.comp.appl.access
Titolo: Recordset + query....Importante

Dunque, caspita,....le ho provate tutte ma .... NULLA,NIENTE, RIEN,
NADA,NOTHING,NIET...
Ringrazio fin da subito Roberto e Sib per i consigli ma....non
funziona..sarò più chiaro:
Ho una query che si chiama "Ricalcolo" con una semplice sintassi SQL (SELECT
* FROM Dati WHERE Cliente = Forms!Richiesta!Cliente)
Il problemone sta nel costruire ed aprire un recordset basato su tale
query...
Dim dbs as Database
Dim qdf as QueryDef
Dim rst as Recordset
Set dbs = CurrentDb
Set qdf = dbs.QueryDefs("Ricalcolo")
qdf.Parameters[Cliente] = Forms!Richiesta!Cliente
Set rst = qdf.OpenRecordset()
Avviando la routine dice " utilizzo non valido di Property" !!!!
HEEEEEEEEEELP !!!!!!!!
-- 
Posted from 
smtp5.libero.it
 [193.70.192.55] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Avviando la routine dice " utilizzo non valido di Property" !!!!
...e ci ha ragione! Infatti la proprieta' "Parameters[Cliente]" non esiste.
Esiste invece la proprieta' "Parameters" che (come ti dicevo nel mio
precedente messaggio) deve essere separata dal nome del parametro con un
punto esclamativo o con l'uso di parentesi tonde e virgolette:
qdf.Parameters![Cliente]
oppure
qdf.Parameters("[Cliente]")
e non dimenticare di inserire la voce "Cliente" nella lista dei parametri
della query.
Sib


Utilizzo A97.
Mi sono creato una tabella Dati che ha come chiave primaria il campo
Cliente.
Mi sono creato una query chiamata QueryRicalcolo avente il seguente codice
SQL:
SELECT *
FROM Dati
WHERE Cliente = Forms!Richiesta!Cliente;
Mi sono creato una maschera chiamata Richiesta contenente un controllo
Cliente; a fronte dell'evento "Dopo aggiornamento" di tale controllo ho
inserito la tua routine VBA; ho ottenuto, come era logico, la segnalazione
di errore che hai ottenuto tu: " utilizzo non valido di Property" .
Ho poi sostituito la seguente riga di codice VBA
qdf.Parameters[Cliente] = Forms!Richiesta!Cliente
con la seguente riga di codice VBA
qdf.Parameters("[Forms]![Richiesta]![Cliente]") = Me!Cliente
e tutto mi ha funzionato regolarmente.
Se vuoi posso inviare al tuo indirizo e-mail il mio database di test.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 qdf.Parameters("[Cliente]")
Ops...
Non avevo letto il tuo SQL (che nel messaggio di qualche giorno fa non avevi
riportato)
Nel tuo caso il nome del parametro e' proprio:
Forms!Richiesta!Cliente
O meglio:
[Forms]![Richiesta]![Cliente]
Con questo nome non puoi usare il punto esclamativo per separare la parola
Parameters dal nome del parametro altrimenti ti genera un errore perche' non
riesce ad interpretare il punto esclamativo fra [Forms] e [Richiesta]. Sei
obbligato a usare parentesi tonde e virgolette:
qdf.Parameters("[Forms]![Richiesta]![Cliente]")
Sib

 ha scritto nel messaggio
news:960t9s$4n7$1...@pegasus.tiscalinet.it...

Ops, non avevo letto il tuo sql.
Nel precedente messaggio non lo avevi riportato.
Quindi, con l'SQL che usi, il tuo parametro si chiama:
"[Forms]![Richiesta]![Cliente]"
Ma dimmi, questa query la esegui anche a mano o la esegui sempre da codice?
Perche' se la esegui sempre da codice, il tuo parametro lo potevi pure
chiamare Pippo, che tanto e' solo il nome che conta.
Infine, usando un riferimento di questo tipo e' obbligatorio usare parentesi
tonde e virgolette in quanto altrimenti il punto esclamativo tra [Forms] e
[Richiesta] verrebbe interpretato come ulteriore riferimento a un sottoitem
con conseguente generazione di errore.
Sib