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

Macros et VBA Excel Discussion :

Problème de mise à jour base accdb par VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Par défaut Problème de mise à jour base accdb par VBA
    Bonjour, par avance désolé si ce sujet a déjà été traité par ailleurs.

    Voilà je souhaite réaliser plusieurs traitements à partir d'une boite de dialogue Excel 2016 vers une base Access 2016 (format .accdb)
    je parviens à parcourir ma base sans problème et à en lire les enregistrements :

    Pour info le code qui 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
    Public conn As Object  'ADODB.Connection
    Public rs  As Object   'ADODB.Recordset
    Private Sub Import_Click()
     
    Dim Chemin_Base
     
    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.recordset")
     
    Nom_base = "DB.accdb"
    Chemin_Base = ThisWorkbook.Path & "\" & Nom_base
    connstring = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & Chemin_Base
    conn.Open connstring
     
    sql = "select * from Table1"
    rs.Open sql, conn
    rs.MoveFirst
     
    MaListe.Clear
     
    Do Until rs.EOF
        DoEvents
        MaListe.AddItem rs.Fields("Nom")
        rs.MoveNext
    Loop
    rs.Close
     
    End Sub
    Je souhaite dans un premier temps pouvoir modifier un champ de ma base avec le code suivant :

    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
    Private Sub Insert_Click()
    Dim Chemin_Base
     
    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.recordset")
     
    Nom_base = "DB.accdb"
    Chemin_Base = ThisWorkbook.Path & "\" & Nom_base
    connstring = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & Chemin_Base
     
    conn.Open connstring
    sql = "select * from Table1"
     
    rs.Open sql, conn
    rs.Fields("Adresse").Value = "truc"
     
    rs.Update
    rs.Close
     
    End Sub
    Mais j'obtiens l'erreur suivante :

    Nom : Erreur 3251.png
Affichages : 265
Taille : 12,9 Ko

    Merci par avance pour toute l'aide que vous pourriez m'apporter.

    Alathael

  2. #2
    Membre éclairé Avatar de Fluch
    Homme Profil pro
    Méthodiste flux
    Inscrit en
    Avril 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Méthodiste flux
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 48
    Par défaut Mise à jour data access depuis excel
    Je crois qu'il faut mettre un Rs.edit pour pouvoir modifier un enregistrement.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Par défaut
    Citation Envoyé par Fluch Voir le message
    Je crois qu'il faut mettre un Rs.edit pour pouvoir modifier un enregistrement.
    Hello,
    J'ai modifié mon code comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    rs.Open sql, conn, adOpenDynamic
    rs.Edit
    rs.Fields("Adresse").Value = "truc"
    Mais malheureusement ça me renvoie :

    propriété ou méthode non gérée par cet objet

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Rs.edit c'est pour Dao hors ici nous sommes en Ado pas d'Edit!

    Il faut tout simplement dire open dynamique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rs.Open Sql, Connexion, 1, 3
    rs.MoveFirst après Rs.open ne rime à rien vue que par définition tu es sur le premier enregistrement!
    *
    Dernière modification par Invité ; 28/12/2017 à 09h59.

  5. #5
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Par défaut
    Bonsoir dysorthographie,

    merci pour votre réponse, je teste et je reviens vers vous pour vous dire.

Discussions similaires

  1. [MySQL] Problème de mise à jour d'une table
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 17/01/2006, 11h39
  2. Problème de mise à jour de données avec IBClientDataset
    Par Papino dans le forum Bases de données
    Réponses: 6
    Dernier message: 26/09/2005, 14h04
  3. [2000 Server] Problème de mise à jour windowsupdate !!
    Par rohstev dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 24/08/2005, 15h03
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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