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

HyperFileSQL Discussion :

Comparer deux champs tables


Sujet :

HyperFileSQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 79
    Points : 0
    Points
    0
    Par défaut Comparer deux champs tables
    salut

    j'ai essayé de parcourir deux champs table de tel sorte que si la Qte de la table1 est différente de la table2, qu'on recupere la ligne de la table1 et seulement la quantité de la table2 et les ajouter dans la table3. L'opération marche, mais dés qu'il arrive à la fin de la récuperation, il m'affiche un message d'erreur disant:

    "Vous avez appelé l'opérateur [] sur le champ TABLE_donn.
    L'indice spécifié [529] est invalide.
    Les valeurs valides sont comprises entre 1 et 528 (inclus)..[/I] "
    Est ce par le fait que le nombre d'enregistrement de la table1 est différent du nombre de la table2?.
    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #i est un entier=0
    SAI_nbreEnr=TableOccurrence(TABLE_donn1)
    TANTQUE i<=SAI_nbreEnr
    	i++
    	SI TABLE_donn1.COL_Code[i]=TABLE_donn.COL_Code[i] AND TABLE_donn.COL_Total[i]<>TABLE_donn1.COL_Qte_St[i] ALORS
    		TableAjouteLigne(TABLE_Comparaison,TABLE_donn.COL_Code[i],TABLE_donn.COL_Désignation[i],TABLE_donn.COL_Code_site[i],TABLE_donn.COL_Total[i],TABLE_donn1.COL_Qte_St[i])
    		SAI_cumul=SAI_cumul+1
    	FIN
    	//	i++
    FIN
    SI SAI_cumul=0 ALORS
    	Info("Aucune différence trouvée")
    SINON
    	Info("Opération effectuée, "+SAI_nbreEnr+" ligne différentes trouvées")
    FIN#

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Tu es parti du postulat que les 2 tables étaient identiques. Ce n'est pas le cas. Je suppose également que du coup, ton résultat est (complètement) faux.

    Tu parcours la première table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    i est un entier=0
    ind est un entier
    SAI_nbreEnr=TableOccurrence(TABLE_donn1)
    pour i = 1 _a_ TABLE_donn1..occurence
    ind = tablecherche(TABLE_donn.COL_Code,TABLE_donn1[i])
    si ind >0 _et_ TABLE_donn[ind].COL_Total<>TABLE_donn1[i].COL_Qte_St ALORS
    TableAjouteLigne(TABLE_Comparaison,TABLE_donn[ind].COL_Code,TABLE_donn[ind].COL_Désignation,TABLE_donn[ind].COL_Code_site,TABLE_donn[ind].COL_Total,TABLE_donn1[i].COL_Qte_St)
    SAI_cumul=SAI_cumul+1
    FIN
    FIN
    SI SAI_cumul=0 ALORS
    Info("Aucune différence trouvée")
    SINON
    Info("Opération effectuée, "+SAI_nbreEnr+" lignes différentes trouvées")
    FIN
    PS : le bouton dière (#) se trouve à droite sur la 2ème ligne des boutons au dessus de la zone de saisie du texte des messages.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 79
    Points : 0
    Points
    0
    Par défaut Reaction
    Merci Frenchsting
    maintenant mon code n'affiche plus les érreurs sauf qu'il ne trouve pas des différences pendant qu'il y en a 3. je ne sais pas le pourqoi?

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    je pense qu'il faut que tu mettes un point d'arrêt au moment du passage sur ton article avec différence (commande STOP puis déroulement pas à pas).
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

Discussions similaires

  1. [CR 2008] Comparer deux champs de 2 tables
    Par FxIzeL dans le forum SAP Crystal Reports
    Réponses: 9
    Dernier message: 31/05/2010, 15h02
  2. [AC-2003] Comparer deux champs dans une table et remplir un autre champ
    Par frexville dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/09/2009, 12h52
  3. Filtrer une table en comparant deux champs entre eux
    Par damene dans le forum Débuter
    Réponses: 13
    Dernier message: 12/04/2008, 19h10
  4. comparer deux champs d un formulaire
    Par williams59 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/12/2007, 11h38
  5. Editeur de recherche - comparer deux champs
    Par sscouby dans le forum 4D
    Réponses: 1
    Dernier message: 17/10/2007, 12h08

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