Fast Report i wartosc Null

0

Witam

Jezeli ktos wie to prosze o pomoc. Tworze raport w narzedziu Fast Report i
nie wiem jak sprawdzic czy wartosc przekazywana z frDBDataSet jest Null'em.
Wyglada na to, ze jezeli jest warosc bazie danych jest Null to do raportu jest przekazywana
wartosc zero. Czy da sie to jakos obejsc?

0

W polu Memo możesz ukrywać zera

0

Dzieki za odpowiedz ale wiem ze moge ukryc zera. Mi bardziej chodzi o to
aby w przypadku NULL'a wypisać 'b.d.' (brak danych) a jezeli jest 0 to ma ono byc wyswietlone

0
  1. możesz to zrobić na poziomie query
SELECT (case when pole = null then 'b.d' else pole end) as pole ...

to w fb

SELECT IFNULL(pole, 'b.d') ...

to w mysqlu
2. może np. obsługa onGetText datasetu
3. skrypt w FR

0

znalazlem to co mnie interesuje aczkolwiek nie potrafie :( dostac sie do tej opcji

A set of properties related to the FastReport engine:
TfrxEngineOptions = class(TPersistent)
published
property ConvertNulls: Boolean default True;
Converts the ?Null? value of the DB field into ?0,? ?False,? or empty string, depending
on the field type.

"silnik" FastReporta zamienia standardowo wartosci pol DB na 0, opcje ta mozna wylaczyc przypisujac wartosc "false" opcji ConvertNulls -> pytanie gdzie

0

frxReport.EngineOptions.ConvertNulls

0

oki no to niestety bede musial kombinowac na okolo bo
ConvertNulls dostepne jest dopiero, jak mniemam w wersji 3 FR a ja mam
licencje na 2.5 :(

0

dziekuje wszystkim za poswiecony czas i odpowiedzi a ponizej podaje rozwiazanie
mojego problemu. ( byc moze wlasnie okazalem sie totalnym lamerem :) )

przykladowy kod w memo w FR 2.5 który sprawdza czy wartosc z DB jest null'em

   IF [FieldIsNull('IBQKarta."OKARTA_ZAL"')] then
      karta_zal:='b.d.'
   else
      karta_zal:=[IBQKarta."OKARTA_ZAL"];

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1