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 :

Excel data Update dans Access Table


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut Excel data Update dans Access Table
    Bonjour,
    J'ai un code fantastique qui ajoute des lignes dans une table Access.
    Maintenant ce que je voudrais c'est adapter ce code pour qu'il ne créé pas une nouvelle ligne mais l'update. L'unique lien pour identifier la ligne dans la table est appelé "ID"

    Je sait qu'il faut remplacer le "Addnew" par "edit" mais je bloque dans le open recordset pour faire la query. Voici mon code actuel.
    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
     
    Sub EdittoAccess()
    ' exports data from the active worksheet to a table in Access
    Dim db As Database, rs As Recordset, r As Long
    Set db = OpenDatabase("E:\2010\NPP\V3\UID_Info_V3.mdb")
    ' open the database
     
    r = 32 ' the start row in the Excel worksheet
    Do While Len(Range("G" & r).Value) > 0
    ' repeat until first empty cell in column A
     
    Vcel = Range("G" & r).Value
     
    Set rs = db.OpenRecordset("select * from [01_DE] where ((([01_DE].Id) Like " & Vcel & ")), dbOpentable")
     
    With rs
    .Edit ' update a record
    ' add values to each field in the record
    .Fields("Code") = Range("B" & r).Value
    .Fields("Ref") = Range("C" & r).Value
    .Fields("NMSC") = Range("D" & r).Value
    .Update ' stores the record
    End With
    r = r + 1 ' next row
    Loop
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    quelqu'un peut-il m'aider ??
    Merci !!

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonjour,
    ce code fonctionne
    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
     
    Sub EdittoAccess()
    ' exports data from the active worksheet to a table in Access
    Dim db As DAO.Database, rs As DAO.Recordset, r As Long
    Set db = OpenDatabase("E:\2010\NPP\V3\UID_Info_V3.mdb")
    ' open the database
     
    r = 32 ' the start row in the Excel worksheet
    Set rs = db.OpenRecordset("SELECT * FROM UID_Info_V3", dbOpenDynaset)
    Do While Len(Range("G" & r).Value) > 0
    ' repeat until first empty cell in column A
     
    Vcel = Range("G" & r).Value
    With rs
     rs.FindFirst "[ID]=" & Vcel
     If Not rs.NoMatch Then
      .Edit ' update a record
      ' add values to each field in the record
      .Fields("code") = Range("B" & r).Value
      .Fields("ref") = Range("C" & r).Value
      .Fields("NMSC") = Range("D" & r).Value
      .Update ' stores the record
     End If
    End With
    r = r + 1 ' next row
    Loop
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    End Sub
    Dans l'exemple donné, le rs.Close devrait se situer avant le Loop
    L'ouverture de la table doit se faire avant le Do dans mon exemple

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/10/2008, 17h37
  2. Update dans une table innodb
    Par Mydriaze dans le forum Débuter
    Réponses: 1
    Dernier message: 28/04/2008, 14h07
  3. UPDATE dans 2 Tables avec un COUNT
    Par gomodo dans le forum Langage SQL
    Réponses: 6
    Dernier message: 18/10/2007, 14h04
  4. Réponses: 23
    Dernier message: 01/03/2007, 15h03
  5. update dans ACCESS via php et odbc
    Par maraly dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/01/2007, 14h54

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