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 :

[VB6] Bug d'une appli (ou "Impossible n'est pas français")


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut [VB6] Bug d'une appli (ou "Impossible n'est pas français")
    Salut à tous.

    Voilà ce qui vient d'arriver, si quelqu'un a une explication rationnelle...

    J'ai créé il y a quelques semaines une appli qui génère des étiquettes avec adresses de livraison, code barre et nombre de colis (sur trois caractères).

    Autrement dit,
    si j'ai entre 1 et 9 colis : 00X
    si j'ai entre 10 et 99 colis : 0XX
    si j'ai entre 100 et 999 colis : XXX

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      If NbColis < 10 Then
                VarFin = "00" & NbColis
            End If
            If (NbColis >= 10 And NbColis < 100) Then
                VarFin = "0" & NbColis
            End If
    Jusqu'à aujourd'hui, c'est au total environ 5000 étiquettes qui ont été imprimées, soit une centaine par jour, autrement dit, il s'agirait là de 5000 tests supplémentaires...

    Mais voilà, aujourd'hui il y a eu un bug, et un seul: j'ai eu le résultat suivant

    Colis 001/00001 au lieu de 001/001.

    Quelqu'un verrait ce qu'il s'est passé?

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 174
    Points
    12 174
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Et la fonction Format()!!! Tu l'as oublié ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VarFin = Format(NBColis, "000")
    C'est autrement plus simple sans If et sans failles...

    Argy

  3. #3
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    Merci, je connaissais pas format()

    Mais ça viendrait d'une faille du if?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par Asdorve
    Mais ça viendrait d'une faille du if?
    J'en doute fort.

  5. #5
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    c'est bizarre alors...

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Je dirais plutôt que, pour une raison ou une autre, tu passes plusieurs fois dans ton "ajout" de zéros.

    Avec Format, tu peux le faire aussi souvent que tu veux, le résultat restera le même.

  7. #7
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    c'est vrai que mes if sont dans une boucle Do Loop

    Il se pourrait donc qu'il y ai eu un passage où ça aurait planté, non?

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Autrement dit, une condition à laquelle tu n'aurais pas pensé.

  9. #9
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    Mais pourquoi ça a marché dans tous les autres cas similaires? Le nombre d'étiquettes est aléatoire, tout dépend les commandes qu'on a.
    Le cas qui s'est produit ce matin n'est pas exeptionnel quand au travail à effectuer, tous les jours il y a des commandes avec 1 seul colis.

    La seule chose qui a changé, ,c'est l'utilisateur.

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Un bon code ne permet pas à l'utilisateur de provoquer des erreurs...

  11. #11
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    je sais, c'est une absurdité que j'ai dite en parlant d'un changement d'utilisateur. Pour le code, qui est long certes, je pense qu'en lui même y'a pas trop de soucis, il a fait ses preuves.
    D'ailleurs, quand j'ai fait la même manip que l'utilisateur de ce matin, et ^ce plusieurs fois, il n'y a eu aucun pb.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    mouai bizarre...

    est-ce l'utilisateur qui saisi le nombre ??? si oui il a pu saisir "001" qui est plus petit (quand évalué par Vb) que 10 ...et donc en rajoutant devant "00"....ça donne ton erreur...

    je connaissais pas non plus format (jamais eu la curiosité de chercher), merci je saurais....
    car jusqu'à maintenant j'étais assez crading sur ce genre de truc... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VarFin = right("000" & NbColis,3)

  13. #13
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    Citation Envoyé par Actarus69
    mouai bizarre...

    est-ce l'utilisateur qui saisi le nombre ??? si oui il a pu saisir "001" qui est plus petit (quand évalué par Vb) que 10 ...et donc en rajoutant devant "00"....ça donne ton erreur...

    non, ce sont des infos récupérées dans la base de données, mais au bon format (pas d'erreur possible) normalement.

    Perso, j'ai fait quelques modif sur mon appli pour éviter que ça se reproduise (j'ai mis des Format() partout où c'était nécessaire) et j'ai fait en sorte que les utilisateurs puissent faire une chose à la fois pour éviter un éventuel bug (ce qu'on appelle le "worst case").

    Merci à ceux qui se sont penché sur le sujet.
    Je mets Résolu (pour l'instant...)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/09/2008, 11h16
  2. [VB6] Faire tourner une appli en tache non bloquante
    Par hirochirak dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/06/2006, 11h56
  3. [vb6]MAJ sur une appli qui tourne 24h/24
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 25/04/2006, 22h49
  4. [VB6]déploiement d'une appli sur plusieurs postes
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2006, 10h32
  5. [VB6] Lancement d'une appli au démarrage de Windows
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/03/2006, 01h21

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