Toon posts:

[Oracle/Crystal Reports] Selectie op "leeg veld"?

Pagina: 1
Acties:
  • 466 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik werk nu een tijdje met Crystal Reports op een Oracle database maar loop tegen hetvolgende probleem aan. En dit is niet zozeer CR maar misschien een gevolg van hoe databases werken. In het voorbeeld zal ik de tabellen vereenvoudigen.

Tabel 1 bevat klantnummer en klantnaam
Tabel 2 bevat klantnummer, kortingpercentage, ingangsdatum korting, einddatum korting

Nu wil ik een rapport bouwen met álle klanten en daarbij de eventuele korting. Er zijn dus klanten zonder korting.
Men neme uit tabel 1 het klantnummer en naam, en uit tabel 2 het kortingspercentage. Daarvoor komen enkel waarden bij klanten die ook daadwerkelijk in tabel 2 voorkomen, aangezien klanten zonder korting niet in tabel 2 voor komen. Tot zover gaat het goed.

Maar nu heeft een klant een korting-periode afgerond en een nieuwe gestart. Daardoor wordt op het klantnummer in tabel 2 twee regels gevonden en weergegeven (de oude korting en de nieuwe). Nu wil ik echter alleen de nu geldende zien.
Een selectie op bijv. einddatum korting werkt niet, want dan verdwijnen óók de klanten die uberhaupt geen korting hadden, omdat daar geen einddatum bij staat.

Hoe krijg ik het voor elkaar om óf te selecteren op "en de eindatum en/of leeg" óf hoe maak ik een formule die een waarde koppelt aan een "leeg" kortingsveld (van klanten die niet in tabel 2 voor komen).

Hopelijk is het een beetje duidelijk.

  • Deegroller
  • Registratie: November 2001
  • Laatst online: 24-03-2025
Pin me d'r niet op vast, maar ik meen me te kunnen herinneren dat er in CR een functie 'IsNull( )' staat. Hiermee check je of het betreffende veld gevuld is. Hiermee zou je een onderscheid kunnen maken tussen klanten die enkel in tabel 1 voorkomen, en klanten die ook in tabel 2 voorkomen (en dus kortingen hebben).

In dat geval, zou je een simpele If Then functie kunnen gebruiken, waarbij je bij checkt of er een waarde staat.

[ Voor 35% gewijzigd door Deegroller op 18-08-2005 18:00 ]

Geweldige hand-oog-coördinatie dankzij Wacom en Playboy!


  • leon1e
  • Registratie: December 2000
  • Laatst online: 19:08
In de select kun je inderdaad gebruik maken van de IsNull logica.

Verwijderd

Topicstarter
Ik ga het zo even proberen. Mijn collega heeft mijn CR-computer ingepikt. Ik laat het weten, zodat anderen hiervan ook kunnen profiteren :)

Verwijderd

Topicstarter
Net even getest en het werkt inderdaad! Heel erg bedankt!

Dus, mensen: als je een selectie of formule wilt maken met als referentie een veld dat voor sommige details niet bestaat, gebruik dan een IsNull() formule.

bijvoorbeeld:
code:
1
2
3
if IsNull({veldnaam})
then 1
else 0


GoT search trefwoorden: Crystal, Reports, Oracle, database, selectie, formule, leeg, veld, IsNull

[ Voor 14% gewijzigd door Verwijderd op 19-08-2005 16:02 ]