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

VBA Access Discussion :

Comparaison champs entre deux tables


Sujet :

VBA Access

  1. #1
    Membre du Club Avatar de Echizen1
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 44
    Points
    44
    Par défaut Comparaison champs entre deux tables
    Salut tout le monde,
    Je rencontre actuellement un petit problème.

    Dans ma base de données, je souhaite vérifier la trame (liste des champs) entre deux tables tab1 et tab2.

    Par comparaison, il s'agit là de vérifier uniquement le nom et la position des champs et pas le contenu de la colonne.

    Ex. Si la trame de la table tab1 est : a, b, c, d. Celle de tab2 doit impérativement être a, b, c, d


    Je ne vois pas trop comment faire...

    Voici mon code, pour le moment :

    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
    Public Sub Verif_Champs(Table_1 As String, Table_2 As String)
     
    On Error GoTo err:
     
    Dim Db As DAO.Database
    Dim tab1, tab2 As DAO.TableDef
    Dim fld1, fld2 As DAO.Field
     
    Set Db = CurrentDb
    Set tab1 = Db.TableDefs(Table_1)
    Set tab2 = Db.TableDefs(Table_2)
     
     
    'On vérifie qu'il y a le même nombre de variables dans les deux tables
    If tab1.Fields.Count = tab2.Fields.Count Then
        MsgBox "ça a l'air OK..."
        Exit Sub
    End If
     
     
    For Each fld1 In tab1.Fields
        For Each fld2 In tab2.Fields
     
     
        '?????
     
     
        Next fld2
    Next fld1
     
     
    err:
    MsgBox "L\'action de vérifier les tables a échoué"
     
     
    End Sub

    En vous remerciant par avance,
    Echizen

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Je complètes
    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
     
    Dim i as Integer, J As Integer
    i=1
    j=1
    For Each fld1 In tab1.Fields
        For Each fld2 In tab2.Fields
             If fld1.Name=fld2.Name then
                    if i=j Then
                        msgbox "Position OK pour " & fld1.Name
                    else
                          msgbox "Position NON OK pour " & fld1.Name 
                    End if  
             End If 
             j=j+1
        Next fld2
    i=i+1
    Next fld1
    PS: Code non testé
    Amicalement

  3. #3
    Membre du Club Avatar de Echizen1
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 44
    Points
    44
    Par défaut
    Salut !
    Merci pour cette aide, je test en rentrant et je vous tiens au courant !

    Echizen

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/06/2011, 20h03
  2. Calculer des champs entre deux tables
    Par bhami9 dans le forum Bases de données
    Réponses: 7
    Dernier message: 12/10/2010, 18h34
  3. Comparaison de champs entre 2 tables ACCESS
    Par Proview dans le forum Access
    Réponses: 12
    Dernier message: 25/03/2006, 22h25
  4. [MySQL] Probleme de liaison de champs entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 16/12/2005, 16h34
  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