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

Access Discussion :

Différence entre Integer et double?


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 122
    Points : 59
    Points
    59
    Par défaut Différence entre Integer et double?
    Dans l'instruction SQL suivante :
    "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE MaTable SET Champs =" & Calcul
    " WHERE etc....
    Si Calcul est déclaré Integer il n'y a pas de problème, par contre s'il est déclaré Double, je récupère une erreur de syntaxe. Pourquoi cela?
    Ma zone de calcul peut souvent dépasser la capacité d'une zone déclarée Integer.
    Merci


    FRANK

  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,

    Ce n'est pas le type Long qui conviendrait ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 122
    Points : 59
    Points
    59
    Par défaut Integer ou double
    Si le champ déclaré "double" contient une valeur sans décimale ça marche par contre s'il contient des décimales je récupère une erreur de syntaxe

  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,

    Problème de séparateur :

    point <=> virgule

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Re: Différence entre Integer et double?
    Citation Envoyé par Michel DELAVAL
    Dans l'instruction SQL suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE MaTable SET Champs =" & Calcul & WHERE etc....
    Si Calcul est déclaré Integer il n'y a pas de problème, par contre s'il est déclaré Double, je récupère une erreur de syntaxe. Pourquoi cela?
    Parce que VBA produit une représentation de la valeur contenue dans Calcul en utilisant la syntaxe définie dans les paramétrages régionaux de Windows. Donc le séparateur décimal est très certainement une virgule alors que SQL accepte seulement le point comme séparateur décimal.

    Pourquoi ne pas laisser faire Access en faisant appel à une fonction intégrée qui génère les expression SQL (en général pour des critères) en respectant la syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE MaTable SET " & BuildCriteria("Champs", dbDouble, Calcul) & " WHERE etc....

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 122
    Points : 59
    Points
    59
    Par défaut Integer ou double
    Même problème avec BuidCriteria

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Re: Integer ou double
    Citation Envoyé par Michel DELAVAL
    Même problème avec BuidCriteria
    Bon , vive le débogage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim SQL As String
     
    SQL="UPDATE MaTable SET " & BuildCriteria("Champs", dbDouble, Calcul) & " WHERE  <à compléter>;"
    Debug.Print SQL
    Dis nous ce qui s'affiche dans la fenêtre d'exécution.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 122
    Points : 59
    Points
    59
    Par défaut Integer ou double
    Il n'y a pas de bug, l'instruction Debug ne fait rien.
    Acces retourne seulement le message : Erreur de syntaxe dans l'instruction UPDATE.

  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,

    Avant de construire ta requête SQL, as-tu essayé de faire ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Calcul = Replace(Calcul, ",", ".")

  10. #10
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Re: Integer ou double
    Citation Envoyé par Michel DELAVAL
    Il n'y a pas de bug, l'instruction Debug ne fait rien.
    Acces retourne seulement le message : Erreur de syntaxe dans l'instruction UPDATE.
    Connais-tu la fenêtre d'exécution ?
    On utilise Debug.Print dans le code VBA pour afficher du texte dans cette fenêtre d'exécution. C'est un outil de débogage.

    Reporte-toi au chapitre III du tutoriel:
    http://cafeine.developpez.com/access...el/debugprint/

    Sinon, à la place mets un MsgBox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim SQL As String
     
    SQL="UPDATE MaTable SET " & BuildCriteria("Champs", dbDouble, Calcul) & " WHERE  <à compléter>;"
    MsgBox SQL

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    UPDATE MaTable SET Champs

    je serais toi je vérifierais le type de champs
    Elle est pas belle la vie ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 122
    Points : 59
    Points
    59
    Par défaut Integer ou double
    J'ai essayé avec Replace. J'ai du définir une zone Calculbis comme variant
    Relace a fonctionné sur Calculbis, mais je récupere du texte (par exemple "312.123". Calculbis n'est pas accepté comme numérique.
    Comment "traduire" ce texte en ciffre?

    N'y a-t-il pas quelques choses de plus simple pour mettre à jour un enregistrement spécifique d'une table?

  13. #13
    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,

    As-tu essayé d'éxécuter cette requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim SQL As String 
     
    CalculBis = Replace(Calcul, ",", ".")
    SQL="UPDATE MaTable SET " & BuildCriteria("Champs", dbDouble, CalculBis) & " WHERE  <à compléter>;"

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 122
    Points : 59
    Points
    59
    Par défaut Integer ou double
    Cette nouvelle requete ne marche pas.

  15. #15
    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,

    Et ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CalculBis = Replace(Calcul, ",", ".")
    UPDATE MaTable SET Champs =" & CalculBis & WHERE etc....

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 122
    Points : 59
    Points
    59
    Par défaut Integer ou double
    A première vue ça a marché, je vais pousser plus loin les tests.
    En tout cas merci pour votre aide.

    Cependant n'y a-t-il pas dans acces une autre méthode que UPDATE...SET pour mettre à jour un enregidtrement spécifique d'une table?

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

Discussions similaires

  1. [Débutant] la différence entre double et uint8
    Par okitrinaw dans le forum Images
    Réponses: 2
    Dernier message: 07/04/2012, 11h38
  2. différences entre const double& et double
    Par BigNic dans le forum Langage
    Réponses: 8
    Dernier message: 30/09/2011, 17h20
  3. Réponses: 9
    Dernier message: 28/05/2008, 14h46
  4. différence entre long et double
    Par bolltt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/03/2008, 18h46
  5. différence entre double et float
    Par Maria1505 dans le forum C++
    Réponses: 2
    Dernier message: 03/01/2007, 05h16

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