|
[WD9] : Requête + fonction mathématique |
Iniciado por vbenner, ago., 23 2005 11:58 AM - 2 respostas |
| |
| | | |
|
| |
Publicado em agosto, 23 2005 - 11:58 AM |
Bonjour,
Je suis en train de faire une requête qui contient 3 colonnes : A, B, C.
Je voudrais faire apparaître une nouvelle colonne D qui ferait appel à une procédure globale qui recevrait en paramètre les colonnes A, B et C.
Avec Microsoft Access, pas de problème, on fait SELECT A, B, C, GrosCalcul(A, B, C) AS LeCalcul FROM LaTable.
Comment puis-je faire avec Windev 9 ?
Merci de votre aide,
Vincent |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 23 2005 - 1:14 PM |
Bonjour, Je ne sais pas ce que tu entends par Gros Calcul ? Sinon sous l'éditeur de requête tu utilises le bouton formule mathématique et tu tapes ton calcul. Exemple : A+B+C
Tu peux aussi exécuter ta requête en créant une colonne C à vide.Puis tu la parcours du début à la fin en faisant C = Gros Calcul ABC avec des hmodifie(tarequête) le champ C est alors à jour.
Voilà.
Michel. |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 23 2005 - 4:32 PM |
Bonjour,
En fait, le GrosCalcul que je veux faire n'est pas possible à partir des fonctions mathématiques qui sont dans la partie 'Formule mathématique' (il s'agit en fait de recherches dans une autre table). C'est pourquoi, je veux faire appel à une fonction globale appelée GrosCalcul et qui recevrait en paramètre A, B et C qui sont 3 colonnes de ma requête.
Ma table contient les champs suivants :
NUM_TICKET LIGNE PRIX TARIF DATE_VOYAGE
Je veux faire un état qui affiche les colonnes suivantes : LIGNE Somme(PRIX) Somme(PRIX si TARIF = NUL)
en fonction de DATE_VOYAGE compris entre DATE_DEB et DATE_FIN
Pour Somme(PRIX), c'est OK, j'y arrive facilement
Pour Somme(PRIX si TARIF = NUL), c'est plus compliqué !
C'est pourquoi, j'ai fait une procédure global qui reçoit 3 paramètres : LaLigne, LaDateDeb et LaDateFin. Cette procédure fait le travail suivant :
reqSQL est une chaîne maREQ est une Source de Données res est un entier
//----------------------------------------------------------------------------------// // REQUETE SQL //----------------------------------------------------------------------------------// reqSQL = "SELECT SUM(Prix) AS SommeDeLePrix " +... "FROM T_TICKETS " +... "WHERE DATE_TICKET >= '" + DateDeb + "' " + ... "AND DATE_TICKET <= '" + DateFin + "' " + ... "AND LIGNE = " + LaLigne + " " //----------------------------------------------------------------------------------// // EXECUTION //----------------------------------------------------------------------------------// SI PAS HExécuteRequêteSQL(maREQ, hRequêteDéfaut, reqSQL) ALORS Erreur(HErreurInfo()) RENVOYER -1 FIN res = HLitPremier(maREQ) RENVOYER maREQ.SommeDeLePrix
Le problème, c'est que je n'arrive pas à intégrer cette fonction dans l'éditeur de requête !!!
Merci de votre aide,
Vincent |
| |
| |
| | | |
|
| | | | |
| | |
|