Newsgroup: it.comp.appl.access
Titolo: Criterio query da codice

Salve prendendo spunto dalla news di quqqenheim del 03 N0v 2006 ho cercato
di
inviare da modulo i criteri ad una query di accodamento (Qgencom3)
ma all'avvio della Funzione mi viene visualizzato l'errore
di run-time '3061' - Parametri insufficienti. Previsto 3. ed al
debug viene evidenziata la riga qdf.Execute.
Public Function Gencom()
Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
Nuf As String, IDc As Integer, Nco as String
Nuf = DFirst("Cuff", "Qgencom2")
IDc = DFirst("IDco", "Tabella1")
Set dbs = CurrentDb
Set qdf = dbs.QueryDefs("Qgencom3")
qdf.Parameters![CuffX:] = [Nuf]
qdf.Parameters![IdcoX:] = [IDc]
qdf.Execute
qdf.Close
Set dbs = Nothing
End function
Al solito l'help di access è a volte incomprensibile
potete aiutarmi? in che cosa sbaglio.
grazie
michele
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 michele
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

 Inviato via 
http://arianna.libero.it/usenet/
-- 
-- 
Massimiliano Amendola
www.accessgroup.it
Il sito italiano di svilupatori Access
www.donkarl.com/it/cisa
 

 ha scritto nel messaggio 
news:82Z61Z44Z18Y1...@usenet.libero.it...

Hai letto la guida a proposito dei parameter?
Mancano le dichiarazioni, per esempio:
Dim prm As Parameter
Una volta impostati i parametri e creata la querydef, questa va assegnata ad 
un recordset:
Set rst = qdf.OpenRecordset.
Altra alternativa è quella di salvare una query con parametri e passarli via 
codice, magari con funzioni appositamente costruite.
Ciao, Carlo


scusa se non ho risposto sono stato via ultimamente
ho provato a dimensionare i parametri dim prm as parameter
ma nulla di nuovo.
In effetti ho consultato anche il sito di karl donaubauer vedi faq. 6.16
che riporta piů o meno lo stesso codice che ho indicato ed anche
lě qdf.Execute dovrebbe sostituire set rst ecc..
?????????
ciao


 lì qdf.Execute dovrebbe sostituire set rst ecc..
Posta l'enunciato SQL della query.
Forse i 3 parametri insufficienti sono cose completamente diverse.
Vedi anche: 
www.donkarl.com/it
 FAQ 6.4 Parametri insufficienti
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 


salve karl forse cercavi questo?
INSERT INTO Dettaglio ( IDco, Anad, Indd, Comd, Anaa, Indt, Comt, Cuff )
SELECT [IdcoX] AS Espr1, Qgencom1.Anad, Qgencom1.Indd, Qgencom1.Comd,
Qgencom1.Anaa, Qgencom1.Indt, Qgencom1.Comt, Qgencom1.Cuff
FROM Qgencom1
WHERE (((Qgencom1.Cuff)=[Cuffx]));
grazie


 WHERE (((Qgencom1.Cuff)=[Cuffx]));
Nel codice scrivi i nomi dei parametri con due punti alla fine che nel
SQL della query non esistono. --> cancella i due punti nel codice
Però secondo me il messaggio di errore causato da questo sbaglio
dev'essere diverso. "Nome non trovato in questo elenco" o simile
in italiano.
Cosa succede se apri la query direttamente nella finestra di DB?
Access ti chiede solo le 2 parametri e poi la query funziona?
Il dubbio viene dal messaggio di _3_ parametri insufficienti.



Scusa per i due punti è stato un errore di trascrizione
Ho provato ad aprire la query dalla finestra del db è mi ha
richiesto solo i due parametri, funzionando regolarmente.
avviandola da modulo invece solito problema
run-time '3061' - Parametri insufficienti. Previsto 3
e viene evidenziata la riga qdf.Execute.
Michele



Hai preso in considerazione i miei suggerimenti?
Ciao, Carlo 



Ho risolto!!!
Innanzitutto vorrei ringraziare in particolare Karl e Carlo per i loro
preziosi suggerimenti.
Per ciò che riguarda la soluzione, il problema
era causato dall'origine dei dati della query di accodamento "Qgencom3"
nella fattispecie la query "Qgencom1".
Difatti uno dei campi di quest'ultima prendeva origine da un controllo
della maschera "Principale" es. Campo1=Forms!Principale!Idcx.
A quanto pare, nonostante la maschera fosse aperta, il valore non veniva
acquisito
'dinamicamente' e quindi in fase di esecuzione la Funzione Gencom( ) lo
richiedeva
come parametro.
Eliminato tale campo tutto ha funzionato regolarmente.
Grazie per l'attenzione dedicatami.
Ciao, a presto
