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

Requêtes et SQL. Discussion :

Problème conversion texte en numérique avec SQL


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    retired
    Inscrit en
    Janvier 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : retired

    Informations forums :
    Inscription : Janvier 2003
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Problème conversion texte en numérique avec SQL
    Bonjour,

    J'utilisais dans Access 2003, la fonction CINT('0' & MontAff) pour convertir le champ MontAff de texte en numérique.
    Depuis peu, cela me donne l'erreur "Type de données incompatible dans l'expression du critère".
    Même chose en utilisant CDBL au lieu de CINT.

    Pour tester j'ai créé la requête Test suivante sur ma table :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT montaff, CDbl('0' & [montaff]) AS num 
    FROM saisie1;
    La requête me crée bien 2 champs identiques, un en format texte, aligné à gauche et un en format numérique, aligné à droite.

    Ensuite j'ai créé la requête suivante pour filtrer mon résultat :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Test.num 
    FROM Test WHERE (((Test.num)>60));
    Et là, j'ai mon message d'erreur.

    Le plus étonnant est que j'utilisais cette syntaxe depuis longtemps. Y aurait-il eu une mise à jour du système qui la rend inopérante ? Je suis dans un environnement Windows 7 64 bits, mais développe sous Access 2003 pour des raisons de compatibilité.

    Merci de vos éclaircissements

    Denis

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Avec Access2000, j'obtiens un résultat avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Test].[montaff], CDbl([montaff]) AS Num
    FROM Test
    WHERE (((CDbl([montaff]))>30));
    Je ne comprends pas la raison du "0" concaténé avec montaff.

  3. #3
    Nouveau membre du Club Avatar de brigerard
    Homme Profil pro
    Retraité (ancien chef de projet)
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité (ancien chef de projet)
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 25
    Points
    25
    Par défaut
    Je n'ai aucun problème avec Access 2013 sous W8 64

  4. #4
    Futur Membre du Club
    Profil pro
    retired
    Inscrit en
    Janvier 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : retired

    Informations forums :
    Inscription : Janvier 2003
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci d'abord pour vos réponses. Je vais rajouter un tas de parenthèses et voir ce que cela change.

    <<<Je ne comprends pas la raison du "0" concaténé avec montaff

    Le '0' concaténé permet d'éviter une erreur quand il y a une valeur nulle dans montaff.

    Cordialement

    Denis

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Le '0' concaténé permet d'éviter une erreur quand il y a une valeur nulle dans montaff.
    Merci, je n'y avais pensé.
    Spontanément, j'aurais écrit :


Discussions similaires

  1. Conversion texte en date avec SQL delphi
    Par DAEM86 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/12/2015, 22h28
  2. Conversion texte en numérique
    Par MAMANHOU dans le forum IHM
    Réponses: 1
    Dernier message: 30/07/2009, 17h19
  3. Pb de conversion texte en numérique.
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/11/2007, 16h57
  4. Réponses: 5
    Dernier message: 22/10/2007, 17h58
  5. Problème de connexion et login avec sql*plus
    Par adapter dans le forum Sql*Plus
    Réponses: 3
    Dernier message: 13/06/2007, 14h12

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