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

Access Discussion :

Comparer champs de 2 BDD


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comparer champs de 2 BDD
    Bonjour à tous,

    Je suis en stage (sans tuteur pour m'aider un peu ) et actuellement je dois comparer les champs de 2 bases de données (sur Access que je découvre!).
    Le but est de lister tous les champs communs à ces deux bases de données ainsi que le nom des tables correspondantes.

    je voulais créer une seule bdd et faire une requête ou utiliser la fonction "relations".. mais je ne peux ni exporter les bases de données ni exporter les tables.

    Si quelqu'un a une idée ça m'intéresse
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Tu dois lister les champs ou les enregistrements.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Je ne suis pas sur que j'ai bien compris c'est la structure de tes bases que tu veux comparer ?

    Si c'est cela voilà comment procéder :

    1) Crée une base vide
    2) A partir de ta base vide lie les tables de ta première base (fichier, données externes, tables liées)
    3) A partir de ta base vide lie les tables de ta seconde base

    Automatiquement Access va nommer les tables ayant un nom identique dans la seconde base nomTable1

    Après crée un nouveau module dans ta nouvelle base.
    Moi je travail toujours en DAO donc dans ton module tu vas sur Outils, Référence et tu vérifie que Microsoft DAO 3.6 Object Library est cochée

    Pour des raisons de simplicité mon code suppose que tu as autant de tables dans les deux bases et qu'elles portes le même nom.

    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
     
    private sub ComparerToutesTables()
       dim db as database : set db=current db
       dim t as tabledef
       for each t in db.tabledefs
         if not t.name like "MS*" and not t.name like "*1" then
           call ComparerTable(t.name)
         end if
       next t
       db.close : set db=nothing
    end sub
     
    private sub ComparerTable(pmrNomTable as string)
       dim db as database : set db=current db
       dim t0 as tabledef
       dim t1 as tabledef
       dim f0 as field
       dim f1 as field
       set t0=db.tabledefs(prmNomTable)
       set t1=db.tabledefs(prmNomTable & "1")
       for each f0 in t0.fields
           debug.print t0.name & "." & f0.name;
           for each f1 in t1.fields
              if f0.name = f1.name then
                 debug.print " aussi dans " & t1.name
                 exit for
           next
          debug.print
       next 
     
       for each f1 in t1.fields
           debug.print t1.name & "." & f1.name;
           for each f0 in t0.fields
              if f0.name = f1.name then
                 debug.print " aussi dans " & t0.name
                 exit for
           next
          debug.print
       next 
     
       db.close : set db=nothing
    end sub
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut Re: Comparer champs de 2 BDD
    Citation Envoyé par allium75
    Bonjour à tous,
    Bonjour toi tout seul !

    (sur Access que je découvre!).,
    ça tombe bien c'est notre sujet principal de discussion...

    je dois comparer les champs de 2 bases de données
    Le but est de lister tous les champs communs à ces deux bases de données ainsi que le nom des tables correspondantes.
    comparer les noms de champs, type, longueur, etc ?
    VBA et tabledefs c'est la meilleure solution.

    je voulais créer une seule bdd et faire une requête ou utiliser la fonction "relations"...
    Pour comparer des données oui, pour comparer les structures non.

    mais je ne peux ni exporter les bases de données ni exporter les tables
    Pourquoi ? et l'attachement non plus ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. [SQL] Compteur de saisies dans des champs d'une BDD
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/02/2007, 13h54
  2. Réponses: 9
    Dernier message: 05/02/2007, 12h27
  3. insertion d'un champs dans une bdd access
    Par pepper18 dans le forum SGBD
    Réponses: 1
    Dernier message: 26/05/2006, 19h47
  4. Suppression d'un champ d'une bdd
    Par Kerod dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/02/2006, 22h19
  5. Récupération du type d'un champ d'un BDD Access
    Par bakaneko dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/12/2005, 11h59

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