ho un report access2000 che richiamo da codice vb in questo modo:
[code]
objAccess = New Access.Application
objAccess.OpenCurrentDatabase("c:\mydb.mdb", False)
dim strFilter as string = ""
dim strWhere as string = "congome='rossi'"
objAccess.DoCmd.OpenReport("reportname", 1, strFilter, strWhere)
[code]
come potete vedere per filtrare i risultati utilizzo il 4° parametro "strWhere" che è un pezzo di stringa sql(nomecampo=valore campo)
ma per filtrare vorrei utilizzare il 3 parametro "strFilter" (e non il 4) in quanto da quello che ho capito questo consente di passagli solo il "valore" e non un pezzo di stringa where ("nomecampo=valore"), chiaramente presumo che per fare cio la query che popola il report deve essere parametrica, cioe si aspetta proprio il valore che gli ho passato
la domanda è questa: come dovrebbe essere la sintassi della query parametrica?
prendiamo questo esempio:
codice:
SELECT Sum([IMPORTORichiesto]) AS TOTDISCPARZ
FROM CartelleProcessate
WHERE ((([CartelleProcessate].[DiscParz])=True) And (([CartelleProcessate].Cartella)=[Forms]!INPUT_RESULT!CasellaCombinata2));
questa è una query che accetta un parametro selezionato da un combo box(di una maschera access), come dovrei sostituire la parte "[Forms]!INPUT_RESULT!CasellaCombinata2" per far accettare il mio parametro passato al report
forse qualcosa del genere?
codice:
SELECT Sum([IMPORTORichiesto]) AS TOTDISCPARZ
FROM CartelleProcessate
WHERE ((([CartelleProcessate].[DiscParz])=True) And (([CartelleProcessate].Cartella)=?));
spero di essere riuscito a spiegarmi, grazie a tutti dell'attenzione