Stampa in determinate condizioni

sabato 20 ottobre 2007 - 12.51

jekisi Profilo | Senior Member

Salve a tutto il forum, avrei la seguente domanda:
In determinate condizioni, dovrei stampare alcuni dati, spiego meglio.
Se il controllo TEXT collegato al db mantiene un valore allora devo stampare sia il contenuto del campo che sia il testo del textobject (label).
Se il campo è vuoto allora non devo stampare nulla, cioè:
Nel il contenuto del campo (dato che è vuoto) e nemmeno il testo del textobject (label).
Come dovrei impostare questa condizione?



Distinti Saluti Fabio Messina

SSUPERPIPPO Profilo | Guru

> Click destro sul campo del report per il quale vuoi impostare la condizione => Formatta Oggetto
> A fianco al Check 'Ometti', premere il pulsante per l'impostazione del vincolo
> Scrivi il tuo vincolo.

Esempio: IsNull({TuaTabella.TuoCampo})

In questo caso, qualora il campo del database (TuoCampo) sia nullo, omettera nel report il campo nel quale hai impostato il vincolo.

Spero di essere stato abbastanza chiaro

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

freeteo Profilo | Guru

ciao,
concordo con quanto detto da superpippo, aggiungo solo che potresti anche mettere il flag nella sezione su "sopprimi sezioni vuote" nel caso in cui il campo/i venga nascosto/i e che magari sia l'unico/i della riga...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

jekisi Profilo | Senior Member

Solo che vb lo tengo in inglese, non capisco quale sia la voce
Mica devo spuntare SUPPRESS e scrivere la formula

SSUPERPIPPO Profilo | Guru

Yes!


http://blogs.dotnethell.it/alebadalin

jekisi Profilo | Senior Member

Tanto per capire come scrivere la formula, provo a trascinare un campo del db in crystal in dettagli, e cerco di dire che se il campo telefono è vuoto mi deve nascondere la label TELEFONO, quindi provo a fare:
Seleziono la label e gli dico Format Object, spunto Suppress e clicco il tasto per scrivere la formula e qui viene il bello.
Provo a scrivere
if cliente.telefono = "" then
text1.visible=false
end if


1024x768 74Kb


dopo salvo e mi da errore


1024x768 98Kb


come dorei fare invece?
Dove sbaglio?

Distinti Saluti Fabio Messina

SSUPERPIPPO Profilo | Guru

Non devi inserire un IF !

Lì dentro devi solo inserire la condizione per cui il campo corrente non debba essere visualizzato. Dovrai quindi scrivere solamente:

{TuaTabella.TuoCampo}=""

Nel caso in cui si verifichi questa condizione il campo verrà omesso!

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

freeteo Profilo | Guru

si quella sezione dove scrivi la formula ha 2 sintassi: "crystal syntax" e "vsia basic syntax", e sono impostabili dalla Combo in alto della finestra "formula designer".
Cmq sia, la condizione che scrivi li dentro è gia applicata alla proprieta' che stai facendo, quindi nel tuo caso la "soppressione" del campo.
PErcio' non devi scrivere "text1.Visbile=.." ma solo quello che ti dice superpippo, usare direttamente il ritorno della formula, che appunto sara' applicato alla soppressione del campo (quindi lavora con logia inversa del visibile ovviamente).

Tradotto in Crystal , devi scrivere dentro li cosi':

IsNull({campo}) or {campo} = ''

Cmq sia puoi farti degli altri if etc..pero' la cosa in questione nel tuo caso è il controllo del nullo quindi "ifnull" (che è una funzione propria di Crystal)
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

jekisi Profilo | Senior Member

AHHHHHHH!!!!!!!! Ok, adesso va.
Grazie tante
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