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 :

Modifier table access avec VB


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
    Août 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2010
    Messages : 67
    Par défaut Modifier table access avec VB
    Bonjour à tous, je suis débutant en Visual Basic et je suis déjà confronté a un problème :
    J´ai crée une table dans Access que je souhaite remplir grâce a un code Visual Basic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     1. Private Sub Form_Current()
     2. Dim strConnect, strsql As String
     3. strConnect = "DSN=MyDSN"
     4. Set objConn = New ADODB.Connection
     5. objConn.Open strConnect
     6. strsql = "INSERT INTO T_TEST(REF, DESIGN) VALUES(´ &  F_ARTICLE.AR_REF & ´, ´ & F_ARTICLE.AR_DESIGN & ´ ) ¨
     7. MsgBox ¨Fin¨
     8. End Sub
    Le problème, c´est qu´à l´exécution, j´ai une erreur d´exécution ´-214721865 (80040e37´ :
    [Simba][SimbaEngine ODBC DRIVER][DRM File Library]No such table or object.

    Ce qui signifierait que ma table ¨T_TEST¨ n´existe pas ?
    Si c´est le cas, comment puis-je corriger le problème svp ?

    Merci de vos réponses.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2010
    Messages : 67
    Par défaut
    J'ai modifié le code afin de créer en direct dans le code la table T_TEST, mais je tombe sur une nouvelle erreur :

    Erreur de compilation:
    instruction incorrecte à l'extérieur d'un bloc de type

    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
    Private Sub Form_Current()
     
    Dim strConnect, strsql As String
    Dim dbs As Database
    tbl As TableDef
    fld As Field
     
     
    strConnect = "DSN=MyDSN"
    'strConnect = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Demo\toto.accdb;"
    Set objConn = New ADODB.Connection
    objConn.Open strConnect
     
    tbl = dbs.CreateTableDef("T_TEST")
    Set fld = tbl.CreateField("REF", dbText)
    Set fld = tbl.CreateField("DESIGN", dbText)
     
    strsql = "INSERT INTO T_TEST(REF,DESIGN) VALUES(' & F_ARTICLE.AR_REF & ',' & F_ARTICLE.AR_DESIGN & ')"
    objConn.Execute strsql
     
    MsgBox "fin"
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2010
    Messages : 67
    Par défaut
    Bon je me suis dit que ca venait sans doutes de la base T_TEST, access va la chercher dans la base de donnee connectee via ADODB et non pas en local.
    Alors j'ai modifie mon code pour donner ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Form_Current()
    Dim strConnect, strsql As String
    Dim dbs As Database
    strConnect = "DSN=MyDSN"
    Set objConn = New ADODB.Connection
     
    Set dbs = CurrentDb()
    Set rst = dbs.OpenRecordset("T_TEST")
     
    strsql = "INSERT INTO T_TEST(REF, DESIGN) VALUES(" & F_ARTICLE.AR_REF & ", " & F_ARTICLE.DESIGN & ")"
    objConn.Execute strsql
     
    MsgBox "fin"
    End Sub[
    Sauf que je retombe sur une erreur 424, objet requis ...


    help svp !

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,
    bienvenue sur DVP
    ton code suit la bonne direction.

    Ta connection n'est pas lancee, vu que ta chaine de DSN n'est pas encore utilisee.

    Je peux te recommander la lecture de ce tutoriel :
    http://ledzeppii.developpez.com/odbc-access/

    Tu y trouveras l'exemple qui te permettra de resoudre ton probleme.

    J'en profite pour t'indiquer que de nombreuses ressources sont a ta disposition, notamment une
    http://access.developpez.com/faq
    et des cours
    http://access.developpez.com/cours

    Bon courage
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2010
    Messages : 67
    Par défaut
    Merci beaucoup pour ton aide, ça va sans doutes m'aider !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2010
    Messages : 67
    Par défaut
    Bonjour, mon maitre de stage vient de me dire que je ne devais PAS utiliser DSN pour me connecter, alors je passe par OLEDB, mais je ne sais pas si la connexion se fait correctement, comment je peux tester rapidement si je suis bien connecte ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub From_Current()
     
    Dim strConnect As String
     
    strConnect = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Demo\toto.accdb"
    objConn.Open strConnect
     
    MsgBox "fin"
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. supprimer une table access avec sql
    Par xence dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/11/2006, 11h51
  2. exporter le contenu d'une table access avec delphi 2006
    Par alexdfr dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/09/2006, 13h29
  3. [VBE]Effacer le contenu d'une table Access avec Excel
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/06/2006, 12h56
  4. Exploiter une table Access avec Ametis(étiquettes)
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 24/05/2006, 14h04
  5. Exploiter une table (Access) avec Ametis...
    Par Badboy62cfp dans le forum Access
    Réponses: 16
    Dernier message: 16/05/2006, 16h53

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