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

Salutoni a tutti !!!
Come faccio secondo voi a "pescare" il valore di una variabile nei
criteri di una query.
ecco il codice:
...
...
    For var_mese = 1 To [Testo0]
 
 DoCmd.OpenQuery "selezione DDT da fatturare"
 DoCmd.OpenQuery "numerazione fatture"
 
    Next var_mese
...
...
nei criteri di un campo della query "seleziona DDT da fatturare" ho
messo [var_mese] ma al posto di prenderlo dal codice me lo chiede
nuovamente.
Non dovevo metterlo tra parentesi quadre?
Come dovevo metterlo?
( var_mese e' un numero intero)
GRAZIE infinite!
marco
p.s. se puo' essere utile uso Access97
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ( var_mese e' un numero intero)
Se lo passi in quel modo non lo prenderà mai....!!
Devi utilizzare QueryDefs e la proprietà Parameters, ma in ogni caso
devi passarne uno alla volta o costruire una Stringa logica OR....!!!
Se spiegassi cosa vuoi ottenere, invece di dire cosa hai fatto sarebbe
più utile per chi legge.
Ciao Alessandro.


 Ciao Alessandro.
Intanto grazie per l'interessamento.
Ho cercato querydefs sulla guida, ma sinceramente non ci ho capito un
fico secco (ma studiero', promesso)
Spiegarti cosa devo fare e' naturalmente molto esplicito nel codice su
scritto.
devo eseguire le query tra "for" e "next" tante volte quante il valore
nel campo [testo0](mese da fatturare).
e ogni volta che la query "seleziona DDT da f..." viene eseguita mi deve
filtrare
i dati con criterio "var_mese",
mentre l'altra query mi fa la numerazione delle fatture sempre partendo
da gennaio ogni volta che faccio partire la fatturazione.
Per cui tutto il codice mi sembra giusto.
Il problema e' solo come prendere la variabile nella query.
OK e' un tantino macchinoso ma spero di essere stato chiaro.
tanti saluti alessandro
marco


 marco
Per mč č chiaro che non hai presente bene, credo che la query non
fa tutto automaticamente, nel tuo Ciclo For...Next
non basta quello che hai scritti, con una cosa cosě fai solo
un Loop di ritardo.
Devi aprire un Recordset e Riazzerarlo ad ogni cambio mese, e con
il Recordset riempito dei dati filtrati per il Mese Corrente(Del ciclo)
eseguire tutta la serie di operazioni di calcolo e non so che altro....
Quindi ripeto, i casi sono 2:
1)Hai dimestichezza con VBA e programmazione quindi hai dato per
scontato tutto e io mi sono permesso erroneamente di capire il
contrario.
2)Hai sottovalutato la cosa. In questo caso č un tantino piů complessa
di come credevi fosse.....!
PEr la Querydefs c'č un'esempio sul Sito Comune di come passare un
parametro
alla QRY.
Alessandro.


 alla QRY.
cerchero' di studiare e mettere in pratica le tue parole
(per il momento č arabo)
ti ringrazio nuovamente.
marco


mi sono dimenticato di dirti che non funziona come semplice loop di
ritardo
perche' la seconda query (numerazione fatture) e' una query di
accodamento.
forse e' proprio qui il punto su cui non ero stato chiaro.
ciao
marco


 (per il momento č arabo)
Non vorrei complicarti la vita ma ...
Potresti provare a togliere il parametro dalle query per poi ricostruirlo e
lanciarlo tramite SQL. Per intenderci, elimina il parametro dalle 2 query e
riprova cosě ...
For var_mese = 1 To [Testo0]
 DoCmd.RunSQL ("PARAMETERS Mese Long = " & var_mese & "; " & _
CurrentDb.QueryDefs("selezione DDT da fatturare").SQL)
DoCmd.RunSQL ("PARAMETERS Mese Long = " & var_mese & "; " & _
CurrentDb.QueryDefs("numerazione fatture").SQL)
Next var_mese
OndaMax

 marco
Adesso va meglio.....!
Allora credo che come ti ho suggerito sia il metodo giusto...!
Alessandro.


 OndaMax
credo sia proprio quello che stavo cercando (come gia' mi diceva
Alessandro).
grazie!!
