Mi consigliate Crystal per il mio scopo?

giovedì 08 aprile 2010 - 22.44

alsatan Profilo | Newbie

Ciao a tutti!
Allora vi spiego, ho quasi terminato la mia applicazione in vb.net e ora una delle funzionalità è stampare alcuni dati su dei moduli come se fossero prestampanti.
Prima di addentrarmi con Crystal ho cercato di fare tutto in VB , mettevo il modulo come immagine di sfondo, poi varie label o textbox che prendevano i valori da un DB.
Il problema si è presentato quando mi sono trovato davanti a moduli in formato orizzontale e altri in formato verticale. Le funzioni per il form print sono davvero scarse, per cui mi è stato consigliato di lavorare con Crystal, e in effetti sono riuscito tramite un viewer a far vedere tutti i moduli da stampare, ogni modulo è un report di Crystal e gestisco tranquillamente la stampa.

Il problema è la raccolta dati dal DB...

Io non devo solo fare delle query e ripetere dei dati, anzi in ogni modulo mi serve 1 solo risultato della mia query, tipo SELECT * FROM CLIENTI WHERE ID_CLIENTE LIKE...etc etc

Il problema consiste che in base ai valori che leggo dal DB devo compilare il modulo diversamente, esempio:

Nel modulo (che è un immagine in BG) c'e' "INTESTAZIONE", nel db ho un campo che si chiama Tipo_Azienda se questa è uguale a DITTA INDIVIDUALE, dovrò scrivere i campi del DB COGNOME & NOME, se invece è SRL, SNC etc etc in "INTESTAZIONE" dovrò scrivere il campo del DB RAGIONE SOCIALE.

E cosi via...se in SESSO c'e' M dovrò fare una "X" in un certo punto, se è F in un altro..

Prima di perdere ore e ore magari inutilmente, credete che sia possibile farlo?
Ovvero nella sezione formule di CR è possibile fare qualcosa del tipo:

IF {comando.Sesso_Cliente} = "M" then
text5="X"
text6=""
else
text5=""
text6=X"
end if

Spero di essermi fatto capire..

Grazie in anticipo :)

Ah dimenticavo, oltre a questo dovrei poter anche inserire formule per adattare il testo in una textbox in base alla lunghezza della stringa da inserire, ovvero modificare la dimensione del carattere in base alla lunghezza del testo da inserire, è possibile?

carloalberto Profilo | Junior Member


>
>Il problema è la raccolta dati dal DB...
>
>Io non devo solo fare delle query e ripetere dei dati, anzi in
>ogni modulo mi serve 1 solo risultato della mia query, tipo SELECT
>* FROM CLIENTI WHERE ID_CLIENTE LIKE...etc etc
e questo non è un problema, il fatto che hai una sola riga non è un problema , puoi mettere l'informazione nella 'testata' o nel 'dettaglio' come meglio credi

>
>Il problema consiste che in base ai valori che leggo dal DB devo
>compilare il modulo diversamente, esempio:
>
>Nel modulo (che è un immagine in BG) c'e' "INTESTAZIONE", nel
>db ho un campo che si chiama Tipo_Azienda se questa è uguale
>a DITTA INDIVIDUALE, dovrò scrivere i campi del DB COGNOME &
>NOME, se invece è SRL, SNC etc etc in "INTESTAZIONE" dovrò scrivere
>il campo del DB RAGIONE SOCIALE.

qui con le formule di crystal ci vai a nozze. in sintesi devi crearti una funzione, nel suo corpo fai una if con la condizione che dici e stampi un campo piuttosto che un'altro
puoi usare adirittura una sintassi 'amichevole' , cioè simile a quella di VB

>
>E cosi via...se in SESSO c'e' M dovrò fare una "X" in un certo
>punto, se è F in un altro..
come sopra

>Prima di perdere ore e ore magari inutilmente, credete che sia
>possibile farlo?
qualche ora la devi cmq perdere per crearti il report :-)

>Ovvero nella sezione formule di CR è possibile fare qualcosa
>del tipo:
>
>IF {comando.Sesso_Cliente} = "M" then
>text5="X"
>text6=""
>else
>text5=""
>text6=X"
>end if

ovvero:
IF {comando.Sesso_Cliente} = "M" then
"X"
creandoti tante formule quante sono i campi che devi stampare
oppure sposti tutto su SQL e ti fai una vista che ti ritorna tutti i dati (o parte) gia filtrati

>
>Spero di essermi fatto capire..
>
>Grazie in anticipo :)
prego

>Ah dimenticavo, oltre a questo dovrei poter anche inserire formule
>per adattare il testo in una textbox in base alla lunghezza della
>stringa da inserire, ovvero modificare la dimensione del carattere
>in base alla lunghezza del testo da inserire, è possibile?

si ...non puoi immaginare cosa puoi fare con crystal (a parte il caffè) :-)

ciao

alsatan Profilo | Newbie

eheh mi sa che le ore da ora aumenteranno eccome :)

Sono appena riuscito a fare qualcosina con tanti IF :)

Dimmi se il metodo è sbagliato...

In pratica per ogni campo da scrivere nel mio modulo invece che draggare direttamente i campi che trova nella query, creo dei campi formula quindi nell esempio che ho fatto prima ho fatto qualcosa tipo questo

Tradotto in "italianesco"

CAMPO FORMULA : "SESSOF"
------------------------------
variabile sesso := commando.sesso;
variabile scrivisessog := "";
SE sesso = "F" ALLORA
(
scrivisessof := "P" (che in carattere Wingdings2 sarebbe la "V" che spunta i checkbox)
);
ALTRIMENTI
(
scrivisessof :=""
);
scrivisessof;

In pratica per ogni campo faccio la stessa procedura, creo il suo campo formula e faccio i dovuti controlli.

Speravo ci fosse qualcosa dove scrivere tutto un codice di controllo e poter prendere più variabili in una volta piuttosto che farne una ad una..

Cmq il risultatò cosi lo otterrò! Grazie!

Per quanto riguarda l'adattamento del testo ridimensionando il carattere hai qualche articololo da linkarmi?

Ho trovato solo argomenti che parlano di come non troncare il testo, fare più righe etc etc, ma qualcosa come serve a me no. :-(



carloalberto Profilo | Junior Member

>eheh mi sa che le ore da ora aumenteranno eccome :)
:-)
>
>CAMPO FORMULA : "SESSOF"
>------------------------------
>variabile sesso := commando.sesso;
>variabile scrivisessog := "";
>SE sesso = "F" ALLORA
>(
>scrivisessof := "P" (che in carattere Wingdings2 sarebbe la "V"
>che spunta i checkbox)
>);
>ALTRIMENTI
>(
>scrivisessof :=""
>);
>scrivisessof;

si vabbene

>Speravo ci fosse qualcosa dove scrivere tutto un codice di controllo
>e poter prendere più variabili in una volta piuttosto che farne
>una ad una..

Se 'prepari' prima i dati e poi li dai in pasto a crystal, costruendoti una vista od addirittura con una stored popoli una tabella temporane su cui poi basi il report
nei vari campi ci metti quello che vuoi.

>Cmq il risultatò cosi lo otterrò! Grazie!
:-) prego

>Per quanto riguarda l'adattamento del testo ridimensionando il
>carattere hai qualche articololo da linkarmi?
no , che crystal usi?

alsatan Profilo | Newbie

Ci avevo pensato a creare un DataTable e usarlo come source per il Crystal... intendevi questo?

Per il resto uso Crystal integrato in VB2008... -_-'' per quello di cui necessito ora credo sia sufficente anche senza repository etc etc...

Nelle altre versioni ci sono opzioni per il ridimensionamento del testo in automatico?
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