2017-09-05 2 views
1

J'utilise des jointures SQL pour récupérer des données de plusieurs tables. Je regroupe les dossiers par département. Je veux montrer seulement les enregistrements où le nom de département n'est pas nul. Je peux contrôler cela via JOINS mais dans d'autres scénarios, j'ai besoin de montrer des enregistrements de départements nuls. Y a-t-il une formule pour le rendre possible? Ma formule actuelle est la suivante:Crystal Report Formule pour montrer les enregistrements où le champ spécifique n'est pas nul?

if {?ParamGrp} = "Department" then 
(
    "Department Name: " &{tblEmployees.DepartmentName} 
) 
else if {?ParamGrp} = "" then 
(
    "" 
) 

Répondre

1

cristal a construit dans la formule ISNULL() pour les situations où une valeur est littéralement nulle, et pas seulement une chaîne vide. Vous pouvez le coller facilement dans votre code existant:

IF ISNULL({tblEmployees.DepartmentName}) OR {?ParamGrp} = "" THEN 
    "" 
ELSE IF {?ParamGrp} = "Department" THEN 
    "Department Name: " & {tblEmployees.DepartmentName} 
+0

Toujours afficher les enregistrements qui ne sont associés à aucun département. Je ne veux pas afficher les enregistrements où le nom du département est nul. Pas "ParamGrp". –

+0

Échangez-le alors. Remplacez 'ISNULL ({? ParamGrp})' par 'ISNULL ({tblEmployees.DepartmentName})' – 4444

+0

Déjà essayé. Peut-être que je fais quelque chose de mal. Fondamentalement, 'paramGrp' contient ma clause' groupby'. Si je veux regrouper par département ou branche ou nationalité. –