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 :

Comparaison des données de deux bases de données Access différentes


Sujet :

HyperFileSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 80
    Par défaut Comparaison des données de deux bases de données Access différentes
    Salut à tous
    J'ai une table Produit Dans ma base de données Access "BDDAchat" dont l'ODBC est "Achat', je cherche à comparer la quantité récuperée de chaque produit par rapport à la quantité de ce produit se trouvant dans la base de données Access "BDDCentrale" dont l'ODBC est "Centrale". Si les deux quantitées sont différentes, alors récupération de cette ligne est l'afficher dans le champ table. Si non, retour au boucle.
    Apparament je n'arive qu'à récuperér le total d'enregistrement mais pas les données.et mon boucle charge le nombre de ligne mais qui sont vide, rien que les zéros dans la colonne quantité. voici ce que j'ai pu griphonner comme 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    //Description de la première connexion
    cnxCnx est une Connexion
    cnxCnx..Utilisateur="Admin"
    cnxCnx..MotDePasse=""
    cnxCnx..Serveur="Achat"
    cnxCnx..Provider=hODBC
    cnxCnx..BaseDeDonnées="BDDAchat.accdb"
    cnxCnx..Accès=hOLectureEcriture
    cnxCnx..InfosEtendues="Info étendu"
    cnxCnx..OptionsCurseur=hCurseurClient
    //Description de la deuxième connexion
    cnxConect est une Connexion
    cnxConect..Utilisateur="Admin"
    cnxConect..MotDePasse=""
    cnxConect..Serveur="Centrale"
    cnxConect..Provider=hODBC
    cnxConect..BaseDeDonnées="BDDCentrale"
    cnxConect..Accès=hOLectureEcriture
    cnxConect..InfosEtendues="Info étendu"
    cnxConect..OptionsCurseur=hCurseurClient
    //Ouverture de la première connexion
    HOuvreConnexion(cnxCnx)
    HChangeConnexion("*",cnxCnx)
    Info("Connexion établie")
    //Récuperation du nombre total d'enregistrement de la table Produit
    SAI_Nombre=HNbEnr(Produit)
    //Création du boucle
    i est un entier=0
    TANTQUE i<=SAI_Nombre
    //Affichage des information de la table Produit récuperées dans la première base de données 
    	SAI_codp=Produit.codprod
        SAI_libelle=Produit.libprod
        SAI_qte=Produit.qte
        //Ouverture de la deuxième connexion
        HOuvreConnexion(cnxConect)
    	HChangeConnexion("*",cnxConect)
    	//Récuperation de la quantité dans le deuxième table Produit de la deuxième base de données
        SAI_qte1=Produit.qte	
        //vérification de deux quantités
    	SI SAI_qte<>SAI_qte1 ALORS
    		//Ajoute des informations dans le champ table
    		TableAjouteLigne(TABLE_produit,Produit.codprod,Produit.libprod,Produit.qte)
    		i++
    	SINON
    	i++		
    FIN
    FIN
    Info("Opération effectuée avec succès")
    Vraiment j'ai besoin de votre aide.

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 563
    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 563
    Par défaut
    Première chose : utilise les balises # pour ton code : ça sera plus lisible.
    2ème chose : il ne t'affiche rien car tu ne lis rien.
    Tu dois utiliser soit les fonctions H...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Hlitpremier(produit)
    tantque pas hendehors(produit)
    ...
    Hlitsuivant(produit)
    fin
    Soit une requête genre SELECT * From Produit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    HexecuteRequete(MaReq...)
    Hlitpremier(MaReq)
    tantque pas hendehors(MaReq)
    ...
    Hlitsuivant(MaReq)
    fin
    A partir de là, tu parcourras tous tes enregistrements de Produit.

    Pour moi, le plus simple, est d'ajouter tous les enregistrements dans ton tableau : tableajouteligne(...). Ensuite, tu changes de connexion, et tu parcours ton produit n°2. Tu recherches ton produit dans le tableau, tu fais ton test et si les quantités sont égales, tu supprimes la ligne du tableau.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2015, 15h48
  2. Réponses: 2
    Dernier message: 02/03/2012, 09h45
  3. Réponses: 5
    Dernier message: 19/12/2011, 23h15
  4. Joindre des tables de deux bases de données différentes
    Par jf1985 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/09/2007, 12h23
  5. Réponses: 3
    Dernier message: 24/09/2007, 11h54

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