Newsgroup: it.comp.appl.access
Titolo: A2K - Recordset su query parametrica

Ciao a tutti, ho un problema con un recordset basato su una query
parametrica.
In pratica ho creato la "QUERYBASE" (con dei parametri, che ho
esplicitato anche nei parametri della query stessa). BAsata Sulla
QUERYBASE ho fatto un altra query "QUERYFINALE" (senza parametri) per
fare delle somme. All'apertura di una form richiamo alcuni campi della
QUERYFINALE ma la procedura va in errore dicendomi:
Parametri insufficienti. Previsto 1. Se tolgo il parametro dalla
QUERYBASE tutto funziona correttamente.
Qualcuno conosce un modo per risolverlo?
Grazie
Paolo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:ae2ed223bca9553707e...@mygate.mailgate.org...

Posta il Codice, non è molto chiaro come fai...!
Io dalla Query Parametrica e per parametrica spero intendiamo
la Query alla quale accedi da :
   Set qdf = CurrentDb.QueryDefs("NomeQuery")
   qdf.Parameters![NomePArametro:] = ValoreParametro
    a questo se devi fare somme perchè non operi direttamente
    sul Recordset della Qry....?
    Set rs=Qdf.Openrecordset
    Ora nel Recordset hai tutti i Metodi e le proprietà di ricerca
    ecc.....!!!
Ho capito male il problema...?
@Alex.

 @Alex.
Credo che sia solo un problema della mia poca competenza ed esperienza.
Cerco di spiegarmi meglio: ho una QUERYBASE che ha un criterio che fa 
riferimento ad una maschera.
Il criterio nel campo NUMERO è il seguente:
<IIf([Forms]![MenùIniziale]![NumeroMassimo]
 Is Null;30;[Forms]![MenùIniziale]![NumeroMassimo])
In pratica se scelgo un numero dovrei vedere i dati
solo inferiori a quel numero altrimenti inferiori al
numero massimo che è 30.
Basata sulla QUERYBASE ho fatto la QUERYFINALE per raggruppare i dati
secondo un campo (NOME) e fare la somma di tutti gli altri campi dei 
diversi record.
Richiamando il recordset tramite DAO
Set Mioset = MioDB.OpenRecordset("QUERYFINALE")
la procedura mi dice parametri insufficienti.
Dal tuo post intuisco che si debba usare la proprietà parameters
ma il problema è che sia il nome del parametro sia il suo valore 
si trovano in una form. Che nome devo mettere? Per il valore 
come posso dirgli che deve essere in un caso inferiore al numero 
scelto e in un altro caso inferiore a 30?.
Ciao e grazie


 ha scritto nel messaggio
news:a63e9d0318cabd45251...@mygate.mailgate.org...

Io ti ho solo chiesto che tecnica usi per passare il parametro.
Da quanto intuisco fai riferimento dalla Queri ad un controllo
chiamato "NumeroMassimo" che ipotizzo sia una TextBox.
Ora se quanto devi ottenere è un recordset ritengo più utile
la tecnica che ti ho suggerito.
Quindi Realizzati una Query nella quale inserisci nella Riga Criteri
relativamente al campo che ti riguarda il parametro con la seguente
sintassi:
[NomeParametro:]
Dim  ValoreParametro as integer
If  Len(me.NumeroMassimo)=0 then
     ValoreParametro =30
Else
    ValoreParametro =me.NumeroMassimo
End if
Set qdf = CurrentDb.QueryDefs("NomeQuery")
    qdf.Parameters![NomePArametro:] = ValoreParametro
set rs=Qdf.Openrecordset
Quì ora hai il Recordset e ci fai quello che credi, che non ho capito.
@Alex.

 @Alex.
Grazie, ho capito come agire e tutto funziona perfettamente.
Scusami ma non avevo capito che volessi sapere a cosa mi serve il tutto.
La TABELLABASE è un calendario nel quale ci sono tutte le giornate. 
I campi sono SQUADRACASA, SQUADRAFUORI, GOLCASA, GOLFUORI.
Tramite la QUERYBASE calcolo tutti i campi per avere la classifica,
in particolare ottengo SQUADRA, PUNTI, GOLFATTI, GOLSUB etc, il tutto
dettagliato per giornata.
Con la QUERYFINALE ottengo LA CLASSIFICA finale raggruppata per SQUADRA
e grazie al filtro posso vedere le classifiche parziali alla giornata
desiderata.
Sei molto bravo, io sto implementando le mie conoscenze sia utilizzando
un apposito testo siafacendo delle prove sul campo.
Grazie Paolo


 Grazie Paolo
Ciao.
@Alex.
