Concatenazione stringhe

lunedì 29 maggio 2006 - 15.07

ferrissa Profilo | Newbie

Ciao a tutti,
sono nuova di CR ed ho un problema che a dire il vero mi sembra stupido ma che non riesco proprio a risolvere.
Voglio concatenare due stringhe (due campi di tipo testo del DB):
{artico.ar_codart}+{artico.ar_desint}
Se tutte e due le stringhe non sono nulle va tutto bene. Ma se una delle due (e nello specifico sempre la stessa delle due) è vuota la concatenazione delle 2 mi viene una stringa vuota.
Non capisco come ciò possa accadere.
Questi due campi sono due campi di tipo Testo per cui è ammessa la lunghezza zero. L'unica differenza fra ar_codart e ar_desint è che il primo campo (che non da problemi) è richiesto e indicizzato mentre il secondo no.
Grazie mille.
Ciao
Melissa

freeteo Profilo | Guru

ciao,
questa è 1a delle cose che odio di Crystal
Devi controllare con il metodo "IsNull({campo})" per vedere che non sia nullo e poi concateni le stringhe, lo so che è "mentalmente" errato e cmq fastidioso, ma con questa accortezza stai abbastanza tranquillo...


ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

ferrissa Profilo | Newbie

Ciao matteo,
scusa se rompo ancora ma il problema è che ho provato a fare:
iif(isnull({artico.ar_desint}), {artico.ar_codart}, {artico.ar_codart}+{artico.ar_desint})
Ma comunque il fatto che io in una delle condizioni faccia la concatenazione non gli piace.
Infatti se faccio
iif(isnull({artico.ar_desint}), {artico.ar_codart}, 'BBB') e {artico.ar_desint} è nullo correttamente stampa {artico.ar_codart}, ma se al posto di una stringa ci metto la concatenazione con quel particolare campo ({artico.ar_desint}) continua a visualizzarmi una stringa vuota.
Melissa

freeteo Profilo | Guru

ciao
devi usare la "if" normale, perche' la "IIf" è compilata gia' appena la esegue e quindi sbaglia, lavora con la "If" normale, tipo:

If isnull({artico.ar_desint} then
{artico.ar_codart}
else
{artico.ar_codart}+{artico.ar_desint}


e cmq per andare bene dovresti probabilmente controllare anche isnull({artico.ar_codart})...
ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

ferrissa Profilo | Newbie

Grazie mille ...
Melissa

freeteo Profilo | Guru

ciao,
se hai risolto, accetta la risposta cosi' marchiamo il thread come risolto...

grazie
ciao.

Matteo Raumer
MCAD ... .net addicted :-)
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