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

Requêtes et SQL. Discussion :

Requête SQL INSERT VBA sous access 2013


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Requête SQL INSERT VBA sous access 2013
    Bonjour,

    J'ai crée un état avec un bouton qui va ajouter les champs suivants. je veux récupérer les informations de l'état.
    TABLE : T_Factures
    N° facture - Numerique Clé primaire
    ID_client - texte
    Date_facture - Date
    Réport_grille - Monetaire/euro

    voici le vba pour le bouton

    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
    Private Sub Commande68_Click()
    ' L'objet db pointe vers la base de données en cours
      Dim db As DAO.Database
      Set db = CurrentDb
     
      ' Une instruction SQL
      Dim strSQL As String
      strSQL = "INSERT INTO [T_Factures] ([N°Facture], ID_client, Date_Facture, Report_grille)" _
        & " VALUES (Me.[N° Facture].Value,'Me.[ID_client].Value',Me.[Date_Facture].Value,Me.[grille].Value);"
     
      ' On exécute l'instruction
      db.Execute strSQL
     
      ' On affiche le nombre de lignes modifiées
      MsgBox db.RecordsAffected
    End Sub
    Message d'erreur : Trop de peu de paramètres. 3 attendu.

    Merci d'avance pour l'aide apportée.
    Stéphane.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 371
    Points : 23 845
    Points
    23 845
    Par défaut
    Bonjour.

    Essaye cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strSQL = "INSERT INTO [T_Factures] ([N°Facture], ID_client, Date_Facture, Report_grille)" _
        & " VALUES (" & Me.[N° Facture].Value & ",""" & Me.[ID_client].Value & """,#" & format(Me.[Date_Facture].Value,Me.[grille].Value, "yyyy\-mm\-dd") & "#);"
    Un bon truc pour tester le SQL dans le code est de
    1. Faire générer la chaîne dans le code, puis de mettre un point d'arrête après.
    2. Dans la fenêtre d'exécution immédiate ([ctrl][g]), faire afficher la chaîne.
    3. Sélectionner et copier la valeur affichée.
    4. Coller cette valeur dans une requête vierge et voir ce que cela donne quand on essaye de l'exécuter.


    Généralement on a un message explicite sur la source de l'erreur.

    Et pourquoi ne pas utiliser un formulaire connecté à ta source de données. Tu éviterais tout ce codage.

    A+

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/12/2015, 12h54
  2. Requête sql en vba access
    Par ziz2005 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 27/10/2008, 13h16
  3. Requete SQL en VBA sous Access 2003
    Par myannick dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/10/2008, 19h58
  4. Réponses: 2
    Dernier message: 06/06/2005, 16h13
  5. Réponses: 2
    Dernier message: 04/06/2004, 12h11

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