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 :

Procédure Form_Open,problème de requête Insert into


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 41
    Points : 50
    Points
    50
    Par défaut Procédure Form_Open,problème de requête Insert into
    Bonsoir,

    J'ai un problème avec la requête insert into ou du moins le Execute d'après le débogueur. J'ai testé l'insert into par une requête SQL via le menu requête dans Access et ce la fonctionne.
    Donc qu'es ce que j'ai mal fait?
    Si vous avez la solution ou une piste vers la solution, je suis tout ouï.

    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
     
    Private Sub Form_Open(Cancel As Integer)
     
        DoCmd.Maximize
     
        Dim cnConnection As ADODB.Connection
        Set cnConnection = New ADODB.Connection
     
        cnConnection.Provider = "Microsoft.Jet.OLEDB.4.0"
        cnConnection.ConnectionString = CurrentProject.Path & "\xxxxxxxxx.mdb"
        cnConnection.Open
     
     
        Dim cmdCommand As ADODB.Command
        Set cmdCommand = New ADODB.Command
        cmdCommand.ActiveConnection = cnConnection
     
     
        Dim strSql As String
        strSql = "INSERT INTO log "
        strSql = strSql & " (dateLog,type,position,tableLog,commentaire)"
        strSql = strSql & " VALUES ( '" & Now() & "','Information','Debut','Aucune','Lancement du formulaire')"
     
        Debug.Print strSql
     
        cmdCommand.CommandText = strSql
     
        cmdCommand.Execute
     
        cnConnection.Close
     
    End Sub
    Erreur d'execution '-2147217900 (80040e14)':
    Erreur de syntaxe dans l'instruction INSERT INTO
    La table log :
    numLog : NuméroAuto
    dateLog : Date/Heure
    type : Texte (50)
    position : Texte(50)
    tableLog : Texte(50)
    commentaire : Texte(255)


    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Bonjour et bienvenue sur les Forums Office de DVP.

    Je pense que tu aurais plus de facilité de travailler avec du DAO qu'avec du ADO.

    Ça vaut la peine de tenter le coup, un excellent Tuto sur DAO fait par Christophe Warin

    Tu peux faire tes ajouts au départ d'un recordset sans devoir passer par une requête.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 41
    Points : 50
    Points
    50
    Par défaut
    Merci.

    Cela fonctionne en utilisant et suivant mot à mot l'ajout via DAO.

    DAO est il plus adapaté au problème d'accés de données que ADO? ou plus conseillé?


    Le lien direct pour l'ajout via DAO
    http://warin.developpez.com/access/d...artie_5#L5.4.3

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Perso, je préfère de loin le DAO, avec des tables Access, c'est plus souple et plus puissant. Avec DAO, on peut aussi modifier la structure d'une table, d'une requête, .....

    Comme toujours, c'est une question de goût.

    Je pense qu'il est beaucoup plus facile d'emploi.

    En plus ce tuto est au top.

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

Discussions similaires

  1. [AC-2007] Problème de requête "insert into" avec du VBA
    Par Maegane dans le forum VBA Access
    Réponses: 8
    Dernier message: 25/07/2013, 14h24
  2. [AC-97] Problème de requête INSERT INTO
    Par Milyshyn76 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/01/2011, 08h58
  3. Problème de requète INSERT INTO avec access
    Par Hipopo dans le forum VB.NET
    Réponses: 7
    Dernier message: 29/03/2010, 12h52
  4. Problème de requête insert into (syntaxe)
    Par Bizoo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/09/2008, 17h23
  5. Problème de requête INSERT INTO
    Par coco38 dans le forum Oracle
    Réponses: 9
    Dernier message: 27/03/2008, 15h35

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