Campi Parametro:Consenti più valori

venerdì 23 ottobre 2009 - 17.24

AngeloContact Profilo | Newbie

salve a tutti.. non capisco per quale motivo non funzione l'opzione tra i campi di parametro "Consenti più valori", o meglio, io gli passo il parametro con valore stringa tipo:
str_param = VAL1,VAL2,VAL3
all'interno della "Formula di Selezione Record" gli assegno al mio Campo filtro il parametro... es:
campo = str_param
non mi restituisce alcun errore ma non mi funziona nemmeno il filtro, infatti invece di suddividermi str_param cerca di filtrare la stringa totale, come se non vosse impostata l'opzione "Consenti più valori" = True

vi prego aiutatemi!!!!

freeteo Profilo | Guru

Ciao,
cos'hai nella formula di selezione? (il filtro diciamo)
Perchè forse ti basta solo usare il metodo "in", quindi qualcosa come:
{campo} in {?parametro}
Ciao.

Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

AngeloContact Profilo | Newbie

grazie freeteo per avermi risposto... il problema non sono ruscito a risolverlo nemmeno utilizzando:
{campo} in {?parametro}
il problema è sempro lo stesso, il mio campo della tabella è un campo codice alfanumerico e descrizione es:
tabella1:
AA1 - VALORE 1
AA2 - VALORE 2
AA3 - VALORE 3
AA4 - VALORE 4

il mio "Campo di Parametro" :str_param contiene alcuni dei valori codice che devo riuscire a filtrare dalla tabella, es:
str_param = "AA2,AA4"

pur inserendo all'interno delle "Formule di Selezione Record":
{campo} in {?parametro}
o
{campo} = {?parametro}

Crystal Report non mi divide la mia stringa in più valori ma cerca di filtrare il {campo} con l'intera stringa, cioè:
{campo} = "AA2,AA4"
naturalmente non funzionerà mai... allora mi chiedo a cosa serve l'opzione tra i campi di parametro "Consenti più valori"??????

grazie

freeteo Profilo | Guru

Ciao,
forse ho sbagliato ad usare la sintassi "in", nel senso che funziona se la parte destra è un array, e nel tuo caso mi sembra di capire che invece sia cmq una stringa separata da virgola.
Allora prova a fare sempre l'IN ma il parametro splittalo per "," in modo da avere un array, in questo modo:

{campo} in split({?parametro},',')
Ciao.

Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

AngeloContact Profilo | Newbie

nulla da fare, mi restituisce il seguente errore: "Questa matrice deve essere indicizzata. Ad esempio: Matrice[i]."
e stranissimo eppure logicamente sembrerebbe molto semplice da risolvere visto che esiste un'opzione che all'apparenza sembra facile e scontata: "Consenti più valori" o nelle precedenti versioni "Consenti Valori Multipli" sul campo Parametro.
E' possibile che si debba creare e gestire un array per filtrare un parametro?

freeteo Profilo | Guru

Ciao,
ma se tu trascini il campo parametro che ti viene passato nel sottoreport e lo visualizzi in esecuzione, cosa viene passato?
Forse non è una stringa ma già un array? Non ho mai usato questa tipologia di parametro, solitamente passavo un parametro con un valore, o una serie, ma cmq distinti...
Ciao.

Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5