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 :

Comparaison entre deux enregistrements


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 29
    Par défaut Comparaison entre deux enregistrements
    Bonjour,

    Je ne suis vraiment pas familier en VB alors je me dois de me trouner vers vous.

    J'utilise VB6. Dans mon projet j'ai une table 'INFO' qui contient les champs
    ex: NoClient, NomClient, Produit.

    Le but est que je dois appliquer un calcul si l'enregistrement précédent sur le NoClient est égale à l'enregistrement en cours. Et ce jusqu'à la fin de mon fichier.

    enreg(1) =NoClient = 12345
    enreg(2) =NoClient = 12345
    j'applisque ma formule


    enreg(1) =NoClient = 99999
    enreg(2) =NoClient = 12345
    je ne fais rien


    merci beaucoup de m'aider

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    bonjour

    c'est pas trés clair,
    if.........then

  3. #3
    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
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    dim i as integer
    dim findetable as integer
     
    for i= 1 to findetable
     
        if enreg( i +1 ) =enreg( i ) then
                   "j'applique la formule"
                    elseif i = findetable then
                    exit for
        end if
    next
    A+

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salutprovoquera une erreur (Erreur d'éxécution N°9, Indice en dehors de la plage), à cause de car cette condition étant évalué avant le ElseIf qui suit.

    solution pour ne pas déclancher l'erreur tout en supprimant la condition ElseIf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i= 1 to findetable-1
    je dois appliquer un calcul si l'enregistrement précédent sur le NoClient est égale à l'enregistrement en cours. Et ce jusqu'à la fin de mon fichier.
    Astragale
    peux-tu nous préciser, ton traitement porte sur une Table et/ou un fichier ?
    La strtégie pouvant différer (pensant a la possibilité de Order By sur le champs NoClient (s'il est bien un numérique).
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    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
    Bonjour,

    provoquera une erreur (Erreur d'éxécution N°9, Indice en dehors de la plage)
    Exact Progelect !
    Et en plus solution encore plus simple.

    A+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 29
    Par défaut
    Désolée pour mon manque de clarté.

    Ma table est une table access nommée Commande, contenant des enregistrements et comme champs:
    NoClient, NomClient, NoCommande, Prix.
    Donc je peux retrouver plusieurs no de commande pour le même client et en plus, le no de commande peux se répéter deux fois s'il y a lieu.
    Par contre, si le no de commande se répète, sur le deuxième enregistrement du non de commande, je dois mettre le prix à zéro.

    Ex:


    NoClient NomClient NoCommande Prix

    9999 yyyyy bbbb 25.00 $
    8888 ccccc uuuu 35.00 $
    1234 xxxxx abcd 10.00 $
    1234 xxxxx abcd 0.00 $
    7777 kkkkk vvvv 45.00 $
    Donc comme le NoCommande abcd se répète pour le même client,
    je mets 0 sur la deuxième ligne de ce numéro de commande.


    merci

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

Discussions similaires

  1. Réponses: 26
    Dernier message: 21/01/2009, 08h32
  2. Comparaison entre deux variables
    Par delavega dans le forum ASP
    Réponses: 8
    Dernier message: 23/11/2006, 16h42
  3. Comparaison entre deux dates dans une table
    Par Biskot75 dans le forum Access
    Réponses: 6
    Dernier message: 19/09/2006, 11h16
  4. Réponses: 6
    Dernier message: 18/04/2006, 13h11
  5. Comparaison entre deux champs de deux tables différentes
    Par liam81150 dans le forum Requêtes
    Réponses: 1
    Dernier message: 26/09/2005, 20h53

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