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 :

Explication code faq fusionner 2 tables


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 158
    Par défaut Explication code faq fusionner 2 tables
    Bonjour,

    J'utilise le code donné par la FAQ "comment fusionner 2 tables en ne gardant pas les enregistrements de la table 2 identiques à ceux de la table 1"
    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
     
     
    Sub Insertion(oRst1 As DAO.Recordset, orst2 As DAO.Recordset)
    On Error GoTo err
      Dim Fld As DAO.Field
        orst2.AddNew
        For Each Fld In oRst1.Fields
          If (Fld.Attributes And dbAutoIncrField) = 0 Then
            orst2.Fields(Fld.Name).Value = Fld.Value
          End If
        Next Fld
        orst2.Update
    err:
    End Sub
     
    Sub copier()
    Dim NomTable1 As String, NomTable2 As String
    Dim oRst1 As DAO.Recordset, orst2 As DAO.Recordset
    Dim odb As DAO.Database
    Dim Message As String
    Set odb = currentdb
    NomTable1 = "TblClient"
    NomTable2 = "TblClientSansDoublons"
    Set oRst1 = odb.OpenRecordset(NomTable1)
    Set orst2 = odb.OpenRecordset(NomTable2)
    While Not oRst1.EOF
      Insertion oRst1, orst2
      oRst1.MoveNext
    Wend
    If Not orst2.EOF Then orst2.MoveLast
    Message = "Opération terminée" & vbCrLf & vbCrLf & _
              "La table source comportait : " & oRst1.RecordCount & " enregistrement(s)," & vbCrLf & _
              "la table de destination en comporte " & orst2.RecordCount
    MsgBox Message, vbInformation, "MAJ terminée"
    End Sub
    cela fonctionne très bien pour 2 de mes tables mais pas pour 2 autres. Je pense que cela vient de la comparaison des clés primaires ??
    Est-ce que qq'un pourrait m'expliquer ce que ce code fait notamment cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    " If (Fld.Attributes And dbAutoIncrField) = 0 Then
            orst2.Fields(Fld.Name).Value = Fld.Value"
    Dans le cas ou cela ne fct pas il n'inclut pas dans la nouvelle table les enregistrements différents
    Merci

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 200
    Billets dans le blog
    47
    Par défaut
    bonsoir,

    d'après Définition et manipulation de données avec DAO

    dbAutoIncrField: Correspond à un champ de type Numéro Auto. A n'utiliser que sur les champs de type numérique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Fld.Attributes And dbAutoIncrField) = 0 then ' si le champ n'est pas de type Numéro auto
    Je ne sais pas si ça va vraiment t'aider mais tu n'expliques pas vraiment la différence entre les tables qui marchent et les autres

Discussions similaires

  1. Fusionner deux tables
    Par rdjema dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/11/2005, 18h42
  2. Fusionner 2 tables Access
    Par zangel dans le forum Access
    Réponses: 7
    Dernier message: 02/11/2005, 08h33
  3. fusionner 2 tables dont les champs sont identiques mais.....
    Par NoobX dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/10/2005, 16h12
  4. Réponses: 4
    Dernier message: 13/10/2005, 14h44
  5. explication code
    Par mdevlieg dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 09h32

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