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

VB 6 et antérieur Discussion :

Conversion de type d'un SINGLE et "Erreur 16 : Expression trop complexe"


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 143
    Par défaut Conversion de type d'un SINGLE et "Erreur 16 : Expression trop complexe"
    Bonjour, voici mon problème :

    Lors d'une concaténation, VB6 me donne le code d'erreur suivant :
    "Erreur 16 : Expression trop complexe"

    Voici la ligne de code en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NewFic(3) = "SYSTEME " & CStr(Unite) & " " & CStr(Dens_Eau)
    NewFic est un tableau de STRING
    Unite est un INTEGER
    Dens_eau est un SINGLE

    Cette ligne est présente dans mon code depuis des mois et n'a jamais posé problème mais depuis ce matin VB6 n'en veux plus.
    Le plus surprenant est qu'en mode pas à pas... je n'ai aucun message d'erreur.

    Quelqu'un a une idée du problème ?

    Edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NewFic(3) = "SYSTEME " & CStr(Unite) & " " 
    NewFic(3) = NewFic(3) & CStr(Dens_Eau)
    Pose également problème, VB6 s'arrêtera là sur la seconde ligne.

    Edit 2:
    J'ai modifié le titre après avoir isolé le problème, toutes les lignes suivantes générèrent le même message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CInt(Dens_eau)
    CCur(Dens_eau)
    CStr(Dens_eau)
    CDbl(Dens_eau)
    etc... mon IDE ne semble plus vouloir convertir le type SINGLE en quoi que ce soit. Le programme assemblé lui semble fonctionner correctement...

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Pas d'explication, cependant :

    J'ai déjà vu vb se comporter de façon bizare quand une des références était manquante. Regarde dans les menus / Projet /Reférences et vérifie qu'aucune des références n'est déclarée manquante

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 143
    Par défaut
    Après vérification, il n'y a aucun soucis de dépendance (d'ailleurs je ne suis pas sur que ça compilerai s'il y'avait un problème à ce niveau).

    Je pense que je suis bon pour une réinstallation de VB6....

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    Peut-etre aussi un problème de virgule/point pour le symbole décimal. A vérifier dans les paramètres régionnaux sur les machines posant problème.

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    ?Dens_Eau

    svp

  6. #6
    Membre émérite
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Par défaut "Erreur 16 : Expression trop complexe"
    Bonjour,

    J'ai déjà eu ce genre d'erreur avec une variable en double précision.
    Lors d'un calcul sur une tva ,la réponse devait être un nombre entier et en double précision, j' avais une réponse très approchante du nombre entier mais
    avec un nombre comportant une vingtaine de chiffres après la virgule.
    J'ai pu résoudre le problème en changeant simplement mes variables double en currency, et alors pas de problème les valeurs étaient correctes.
    Essaie de changer ta variable simple en une autre variable numérique?

    A+

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 143
    Par défaut
    Petite absence due à saut dans le vide de mon disque dur qui a choisi de se suicider...

    Donc problème persistant malgré une réinstallation complète du PC (ce n'est donc pas un problème d'IDE instable à priori).

    Vld44 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Global Dens_Eau As Single
    iclic :
    J'ai essayé également les déclarations suivantes sans résolution du problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Global Dens_Eau As Currency
    Public Dens_Eau As Currency
    Résolution (sans compréhension) du problème avec la déclaration suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Global Dens_Eau As Double
    Donc je ne sais pas pourquoi j'ai eu ce problème, ni pourquoi ce changement de déclaration le résout...

    Edit :
    Pour ceux qui rencontrerait le même problème, il est à noté que la plupart du temps (95% des cas) cette variable contiens un nombre entier.

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 08/03/2009, 14h37
  2. Conversion de type
    Par sovitec dans le forum Langage
    Réponses: 5
    Dernier message: 15/12/2004, 14h29
  3. Conversion de type
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 10h30
  4. [MYSQL] conversion de type sur import de script
    Par sebos63 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 27/08/2003, 10h00
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

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