|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 16 ![]() |
bonjour à tous en ce beau Lundi de Juillet où on est obligé de travailler :'(
voila mon soucis je fais une jointurne externe sur une table, jusque là tout va bien pour chaque personne de la table Personne, il peut exister ou non un enregistrement dans la table Facture. Dans la table Facture, j'ai un champs Facturedate. je veux pouvoir recuperer les lignes correspondant à la table Personne même si il n'y a pas de ligne correspondante au ID de la personne dans la table Facture. Or, je souhaiterais aussi faire un filtre sur Facturedate et c'est la que ca se complique. Comme la ligne correspondante dans la table Facture n'existe pas, mon filtre sur facturedate est prise en compte et annule la selection de l'enregistrement dans la table Personne. Je voudrais donc savoir s'il est possible d'ecrire une formule du style: facturedate>=today or facturedate is null merci. |
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Inscription : août 2004 Messages : 196 ![]() |
bonjour,
il y a effectivement une fonction Isnull qui te permet de tester si un enregistrement existe ou non. cependant, ce genre de formule ne sera pas comprise par ta base de données, en conséquence ta base de données n'appliquera pas la formule de sélection et renverra toutes les données à crystal qui s'occupera de la sélection. Ce n'est pas trés efficace au niveau du volume de données qui transite. Mais chacun voit midi à sa porte. Tu peux contourner le probléme en mettant une partie de ta formule de sélection dans la sélection de groupe, ou dans la formule de suppression de section. voila.. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 16 ![]() |
j'ai effectivement testé la fonction isnull mais le résultat était le même, l'enregistrement n'est pas pris en compte.
j'ai contourner le problème pour le moment en faisant un sous état, mais j'aimerais optimiser un maximum. je ne vois pas trop comment faire ca dans la formule de selection de groupe ou de suppression de section....? merci |
|
|
00
|
|
|
#4 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Bonjour
mais tu pourrais modifier directement la requête SQL de crystal et ajouter ta clause OR dans la relation des tables !! Je crois avoir déjà fait une opération de ce genre là dans un de mes etats pour la relation justement Menu Base de données --> afficher une requête SQL !! Modifier la requête puis faire OK !! Attention !! Seul souci toujours réinitialiser la requête lors de l'ajout de nouvelles tables à ton état, sinon elles ne sont pas prises en compte !!
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 16 ![]() |
le soucis c'est que j'arrive à afficher la requête mais je ne peux pas la modifier
il y a qu'un bouton "ok" quand je fais afficher la requête sql... any clues? |
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Inscription : août 2004 Messages : 196 ![]() |
1) quand tu affiche la requete sql tu retrouves les selections que tu mets dans ta ta selection d'enregistrement, plus les tris
2)pour ne pas passer par les sous-états, tu rejoutes une formule de suppression pour les sections qui affichent/utilisent des champs de la table facture par exemple supprimer si IsNull(Facture.numFact) |
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : mai 2004 Messages : 16 ![]() |
Donc si j'ai bien compris :
j'utilise l'expert selection j'affiche la formule et si je rajoute : Code :
... |
||
|
|
00
|
|
|
#8 | |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Citation:
Pour ma part je travaille avec des bases SQL Server et je n'ai aucun problème pour modifier la requête !!
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 16 ![]() |
je suis sous oracle 8i
|
|
|
00
|
|
|
#10 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Ca devrait marcher, tu modifies le contenu puis tu fais OK !! non ??
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 16 ![]() |
Non je ne peux pas, il me permet juste de visualiser la requête, je peux faire aucune action dessus...
|
|
|
00
|
|
|
#12 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Alors il faut en déduire que ma solution ne fonctionne qu'avec les
etats qui pointe sur une base de type SQL Server car : Access : Impossible d'afficher la requête SQL SQL Server : pas de problème Oracle : Requête affichée non modifiable !! Désolé
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#13 |
|
Membre confirmé
![]() |
En effet avec Oracle on ne peut pas modifier la requête sql aussi avec la 9i
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com