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

Allora..visto che ho esaurito tutti i possibili tentativi chiedo aiuto:
Dim dbs As Database
Dim rst As Recordset
Dim qdf As QueryDef
Set dbs = CurrentDb
Set qdf = dbs.QueryDefs("QueryRicalcolo")
qdf.Parameters!("[Cliente]") = Forms!Richiesta!Cliente
set rst = qdf.OpenRecordset()
All'esecuzione perchè mi dice "il carattere di dichiarazione non corrisponde
al tipo dati dichiarato" ???
Come faccio ad impostare a Recordset una query i cui parametri sono legati a
caselle di testo in una form ???
Grazie Enrico
-- 
Posted from 
smtp6.libero.it
 [193.70.192.127] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Scusami, ma solo per una mia personale curiosità; non va neppure se scrivi
qdf.Parameters("[Forms]![Richiesta]![Cliente]") = Me![Cliente]
come ti avevo proposto il 5/2/2001 ore 21:43 ?
E la soluzione proposta da Federico il 6/2/2001 alle ore 9:51 ?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Scusa l'osservazione Roberto, ma certamente cosi' non puo' funzionare.
Tra virgolette va inserito il nome del parametro incluso tra parentesi
quadre. Se intendevi usare come nome di parametro il contenuto del controllo
Cliente della maschera richiesta dovevi scrivere:
qdf.Parameters("[" & [Forms]![Richiesta]![Cliente] & "]") = Me![Cliente]
A mio avviso Enrico intendeva proprio assegnare un valore al parametro
"[Cliente]" della query.
Sib
--
------------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
------------------------------------------------------
La mia home (ancora non completa)
http://digilander.iol.it/syb
------------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente

 al tipo dati dichiarato" ???
Enrico, per quanto ermetica sia la segnalazione di errore, e' corretta anche
se in realta' hai solo fatto un errore di sintassi.
Dove scrivi:
qdf.Parameters!("[Cliente]") = Forms!Richiesta!Cliente
hai separato la parola Parameters dal nome del parametro con un punto
esclamativo. Nei riferimenti agli oggetti sottostanti, invece, o si usano i
punti esclamativi o si usa l'accoppiata parentesi e virgolette. In pratica
sono corretti:
qdf.Parameters![Cliente] = Forms!Richiesta!Cliente
e
qdf.Parameters("[Cliente]") = Forms!Richiesta!Cliente
Usare entrambi i metodi di riferimento e' sintatticamente errato.
Ciao


 ha scritto nel messaggio
news:O3Eg6.19546$GM6.8...@news.infostrada.it...

E allora mi piacerebbe sapere perchè in un mio database funziona.
Questo è il codice SQL della query chiamata Query3:
SELECT Tabella2.Id2, Tabella2.Id1, Tabella2.Campo3, Tabella2.Campo4
FROM Tabella2
WHERE (((Tabella2.Id1)=[Forms]![Maschera1]![Id1]));
sulla quale apro il recordset e questo è il codice VBA usato:
Private Sub Comando9_Click()
Dim dbMio As Database
Dim rstMio As Recordset
Dim qdfMio As QueryDef
Set dbMio = CurrentDb
Set qdfMio = dbMio.QueryDefs("Query3")
qdfMio.Parameters("[Forms]![Maschera1]![Id1]") = Me![Id1]
Set rstMio = qdfMio.OpenRecordset()
Me![pippo] = " "
Do Until rstMio.EOF
Me![pippo] = Me![pippo] & rstMio![Id2] & " "
rstMio.MoveNext
Loop
rstMio.Close
End Sub
Fra l'altro non è farina del mio sacco; non riusivo a trovare la soluzione e
fui aiutato da un frequentatore del NG di cui non ricordo il nome; anche io
ero scettico sulla soluzione ma poi mi sono convinto davanti all'evidenza
che era funzionante.
Ti ringrazio se mi scioglierai l'arcano; l'insistenza a che Enrico provasse
la mia soluzione era per me un'ulteriore verifica.


 Set rstMio = qdfMio.OpenRecordset()
cut
Perche' nella tua query il parametro si chiama:
"[Forms]![Maschera1]![Id1]"
cioe', e' proprio questo il nome che hai dato al parametro.
Ciao, Sib