IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Problème de requete avec type monétaire


Sujet :

ASP

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut Problème de requete avec type monétaire
    Bonjour à tous,
    J'ai un petit souci avec des décimaux.Je récupère après validation du formulaire un numérique qui peut être un décimal. Si c'est un entier pas de problème mais dès qu'il y a un décimal c'est le bazard.

    Si la virgule est représenté par un point il me fait une erreur de type.
    Si c'est une virgule c'est erreur de syntaxe(virgule)

    Il peut être bon de préciser que le champs de ma base est de type monétaire.

    D'avance merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Fais voir un bout de code stp.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    voilà la dernière chose que j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MO=Abs(CDbl(Replace(Request.Form("Montant_op"),".",",")))
    ensuite je place MO dans ma chaine de requete.
    qui donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM BUDGET WHERE ABS(MONTANT_OPERATION)=11506,5 AND MONTANT_OPERATION<0 AND NUM_AGENCE IN (SELECT NUM_AGENCE FROM AGE_USR WHERE MATRICULE='1') ORDER BY NUM_AGENCE,DATE_OPERATION;

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Citation Envoyé par Pymm
    .....
    ensuite je place MO dans ma chaine de requete.
    ...
    OU ?

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Oups je t'ai donné le contenu de la chaine de requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rsql= Rsql & "ABS(MONTANT_OPERATION)=" & MO
    ...
    ensuite j'ajoute le reste en fonction des info du formulaire

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Ce ne serait pas un problème de séparateur des décimales. Si tu mets une valeur en dur, laquelle fonctionne : celle avec un point ou celle avec une virgule ?
    Et si tu fais un response.write MO, ça te donne quoi ?

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    En fait il ne veux ni faire Abs(Request.Form("Montant_op")) car type incompatible
    ni Cdbl car type incompatible

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    je viens de tester sous access et il le prend avec le point et pas la virgule et il si je mets un séparateur de décimal il est pas content. je pense que cela vient du typage de la variable mais si je peux pas la convertir c'est un problème.

  9. #9
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Rsql= Rsql & "ABS(MONTANT_OPERATION)=" & cStr(replace(MO, ",", "."))

  10. #10
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    En fait je veux qu'il me retourne une valeur absolue du champ car le signe du montant de l'opération je l'obtient autrement.
    donc je lui mis ça sur l'input du Montant_op
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onblur=""if(!isNaN(this.value)){Math.abs(this.value);}else{alert('Ce champ doit contenir une valeur numérique.');this.focus();}
    Et il veut pas le me renvoyer la valeur absolue...grrrrr

  11. #11
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    ok c'est ma faute... si je n'affecte pas la valeur ça risque pas de marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.value=Math.abs(this.value)

  12. #12
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Impossible de le convertir donc je fais, en fonction de bouton radio pour savoir si c'est au crédit ou au débit.
    Et là plus de problème la requete marche
    Merci pour ton temps pc75

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de requete avec like
    Par eric062 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 21/10/2008, 17h18
  2. Problème de requete avec SUM
    Par fatiinfo dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/08/2008, 16h18
  3. [Forum] Include avec type de caractère
    Par Theberge43 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 13
    Dernier message: 18/12/2006, 00h08
  4. [Hibernate]Problème de requete avec "join fetch"
    Par gauloiskiki dans le forum Hibernate
    Réponses: 4
    Dernier message: 21/06/2006, 09h54
  5. Problème de requete avec Innodb
    Par silef dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2004, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo