Newsgroup: it.comp.lang.visual-basic
Titolo: datareport con passaggio di parametri

Ciao a tutti,
                io sto incontranto una serie di problemi utilizzando dei
datareport nei quali la query di ricerca dei dati contiene dei
parametri. Non riesco infatti a passare i parametri da codice vb alla
stringa che legge i data dal database. Teoricamente, settando un campo
'criteria' nella query, dovrei essere in grado di passare questo
parametro da vb e fare eseguire la query sfruttando il parametro. In
realtà comincio già ad incontrare problemi nel riempimento del campo
'criteria' ... quando ci infilo il nome del parametro mi dice che "
'parametro' in expression is not part of the query'; andando ad
osservare le proprietà del campo 'criteria' mi accorgo che posso
inserire un prefisso ed un suffisso per identificare un parametro, gli
metto '['come prefisso e ']' come suffisso ma non ho la possibilità di
fare un 'applica' o un 'ok'. Sembra che recepisca queste mi direttive su
prefisso e suffisso anche perchè nella query mi mette '... where
nomecampo=[parametro]' ; in realtà, in esecuzione, ho questo errore :
'run time error - the provider cannot derive parameter info and
SetParameterInfo has not benn called'.
Credo che il problema stia proprio nel settaggio del campo 'criteria',
ma il problema è che la maschera delle properties di questo campo è
diversa da quella che trovo nell'help; infatto io non mi trovo il
pulsante 'OK' che invece trovo nell'help e questo mi fa pensare che le
mie indicazioni sul parametro non vengano in realtà recepite.
Grazie per la vostra disponibilità
G.

 wrote in message
3818122C...@progettomedia.it...

Innanzitutto devi impostare la query nel dataenvironment (new connection +
new command)
Quando stai progettando la query, metti un bel ? nel campo che vuoi usare
come criterio.
Ritorna poi nelle properties del tuo nuovo command, e vai nel tab
Parameters, dove trovi elencato il tuo bel '?' di prima: assegnagli un nome
umano.
Per passare il parametro, richiama il command seguito dal parametro di
ricerca.
Non e' facile a parole. Ti allego un esempio funzionante.
' sample
' denv...: dataenvironment
' drep...: datareport
         Dum = "" & ado_clienti.Recordset!Anagrafico
         If Dum = "" Then Exit Sub
         Screen.MousePointer = vbHourglass
         denv_main.Cliente Dum
         Dum = ado_clienti.Recordset!Descrizione
         With drep_ordini
            .Caption = "Elenco Ordini del Cliente " & Dum
            .Title = .Caption
            Screen.MousePointer = vbDefault
            DoEvents
            .Show vbModal
         End With
         denv_main.rsCliente.Close
HTH
/// Enrico Di Cesare

> Grazie Enrico,
        ho controllato e così funziona. Adesso mi si è presentato un altro
problema però e questo mi sembra più rognoso perchè ha tutta l'apparenza di un
bug. Se uso, nei criteri di un campo di testo della mia stringa sql di
selezione, un operatore like '*pippo*' in realtà sembra che il like non
funzioni per nulla. La stessa stringa, riportata direttamente in Access
funziona correttamente e trova, come deve, tutte le stringhe che contentono al
loro interno 'pippo'; invece, nel datareport, mandando in esecuzione la stringa
sql così creata, non trova nulla. Il problema sono gli asterischi perchè ho
provato a inserire la stringa '*pippo*' direttamente nel db, a cercarla con
like e senza like e la ritrovo con le modalità corrette. Dal sql builder del
data report invece, mandando in esecuzione il comando, non trova nulla in
entrambi i casi. Ho il sospetto che l'interfaccia che traduce dal sql builder
al jet engine sia un pochettino bacata....
Ne sapete qualcosa ?
Grazie
G.

 funziona correttamente
Prova a sostituire l'asterisco ' * ' con il simbolo di percentuale ' % '.
Dovrebbe funzionare.


 funzioni per nulla. La stessa stringa, riportata direttamente in Access
