Newsgroup: it.comp.appl.access
Titolo: variabile su campo calcolato query

Salve di nuovo e scusate l'ennesima domanda banale.
Ho provato a lungo su google di trovare la soluzione ma proprio non ne vengo
a capo
Una una variabile definita in un modulo:
Public MyVar As Single
Ho la necessità si utilizzare questa variabiabile per costrurire un campo
calcolato in una query ma non ci riesco in quanto mi viene sempre
riconosciuta come parametro.
Ho provato a fare una funzione pubblica che restituisce il valore della
variabile e usare il nome della funzione nel campo calcolato ma non cambia
niente
ho costruito anche una funzione che esegue tutto il calcolo del campo
calcolato e ho provato a fare MioCampo: MiaFunction  ma ancora niente.
Dove sbaglio?
Grazie a tutti in anticipo!
Carlo

 ha scritto nel messaggio
news:2qokciF...@uni-berlin.de...

Che tipo di Query devi eseguire....??
Se si tratta di Query ACTION non viene eseguita un Record
per volta, quindi la chiamata alla Funzione non ha senso.
Se la Query in questione è una Query SELECT allora
la chiamata alla Function deve andare ma probabilmente
hai sbagliato sintassi......
Posta il codice usato e non essere avaro di spiegazioni.
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------


ciao e grazie
si tratta di una select query
ecco il codice.
In un modulo ho
Public VAT As Single
Public Function GetVAT() As Single
GetVAT = VAT
End Function
si tratta cioè di fissare in una variabile l'imposta sul valore aggiunto.
Questa variabile la inizializzo da codice all'apertura del db.
VAR la vorrei usare in un campo calcolato dove prendo il valore da un altro
campo e aggiungo l'imposta
ecco i vari tentativi tutti falliti che ho inserito nella casella di
definizione del campo (i settaggi internazionali del mio PC prevedono
l'utilizzo della virgola al posto del punto e virgola per la separazione
delle opzioni della funzione, quindi l'errore non è quello)
NetRate: IIf([RatePlus]=True,[RoomRate]*(100+VAT)/100,[RoomRate])
NetRate: IIf([RatePlus]=True,[RoomRate]*(100+GetVAT)/100,[RoomRate])
(RatePlus è un campo si/no che mi indica se il prezzo di partenza del
fornitore è già inclusivo di imposta o meno)
Poi ho fatto anche
Public Function MyVAT() As Single
MyVAT=IIf([RatePlus]=True,[RoomRate]*(100+GetVAT)/100,[RoomRate])
End Function
e nella query
NetRate: MyVAT
Il risultato è che in tutti e tre i casi si apre un input box che mi chiede
di inserire il valore di VAT, GetVAT o MyVAT quando invece la variabile è
già stata definita all'apertura del database e posta =7 (e sono sicuro di
questo perchè lo posso verificare da altri utilizzi di VAT in forms dove mi
viene regolarmente riconosciuta)
Sinceramente non credo si tratti di sintassi perchè non ricevo alcun errore.
credo che si tratti proprio di un errore di concetto :-)))
Grazie
Carlo

In un modulo ho
Public VAT As Single
Public Function GetVAT() As Single
GetVAT = VAT
End Function
NetRate: IIf([RatePlus]=True,[RoomRate]*(100+VAT)/100,[RoomRate])
 e nella query
 NetRate: MyVAT
 Grazie
 Carlo
[RISPOSTA]
Potrebbe derivare dal fatto che non hai messo le parentesi:
NetRate: IIf([RatePlus]=True,[RoomRate]*(100+getVAT())/100,[RoomRate])
NetRate: MyVAT()
Per conferma ho fatto una prova simile:
'//    In un Modulo per comodità ho fatto una Costante
    Option Compare Database
    Option Explicit
    Private Const VAT As Single = 151.110002
    Public Function GetVAT() As Single
       GetVAT = VAT
    End Function
Nella Query h inserito:
SELECT NumFunzione, getVat()*[NumFunzione] AS Progr
FROM TblMenù;
Dove NumFunzione è un Integer, il risultato è correttamente il prodotto
dei 2 dati.....!!


 Potrebbe derivare dal fatto che non hai messo le parentesi:
Bingo!!
è la classica situazione da "...ma come ho fatto a non pensarci...???????"
e giù un frontino!! :-((((
Beh!, che dire, grazie davvero!
Carlo