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 :

Problème d'ajout dans base Access


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 25
    Points
    25
    Par défaut Problème d'ajout dans base Access
    Bonjour à tous,

    J'ai voulu exécuter une requête SQL d'ajout dans ma base de données, ceci permettra de gérer les interventions dans notre société.
    Le code marchait parfaitement hier, cependant aujourd'hui, impossible d'ajouter des données. Je ne comprends pas mes erreurs donc je fais appel à votre expertise.

    Code SQl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim db As Database
     
    Private Sub validation_demande_Click()
        Set db = CurrentDb
    If (Me![dateDemandeInterv] <> "" And Me![salarie] <> "" And Me![sectionInterv] <> "" And Me![objetInterv] <> "") Then
            SQL = "INSERT INTO Interventions(dateDemandeInterv, objetInterv, sectionInterv, typeBesoin, salarie) VALUES(#" & Me![dateDemandeInterv] & "#, """ & Me![objetInterv] & """, " & Me![sectionInterv] & ", " & Me![typeBesoin] & ", " & Me![salarie] & ")"
                MsgBox SQL
                db.Execute (SQL)
    Else
            MsgBox "Erreur : L'ajout n'a pu être effectuer", vbCritical, "echec de l'ajout de la demande"
        End If

    Le message m'indique la requete SQL avec les paramètres, il n'y a aucune erreur.

    Je vous remercie d'avance pour vos solutions.
    Cordialement,
    TheSnake

  2. #2
    Membre du Club Avatar de Thierry''
    Profil pro
    Inscrit en
    Février 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 75
    Points : 60
    Points
    60
    Par défaut
    Je pense qu'il doit y avoir un ; à la fin de ta commande SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SQL = "INSERT INTO Interventions(dateDemandeInterv, objetInterv, sectionInterv, typeBesoin, salarie) VALUES(#" & Me![dateDemandeInterv] & "#, """ & Me![objetInterv] & """, " & Me![sectionInterv] & ", " & Me![typeBesoin] & ", " & Me![salarie] & ");"
    à la fin de ta commande SQL

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 25
    Points
    25
    Par défaut
    Merci pour ta réponse Thierry, mais non, ce n'est pas ça.
    Impossible de comprendre alors qu'hier cela marchait parfaitement, j'ai juste rajouté quelques champs et là depuis, plus rien.

    Cordialement,
    TheSnake

  4. #4
    Membre du Club Avatar de Thierry''
    Profil pro
    Inscrit en
    Février 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 75
    Points : 60
    Points
    60
    Par défaut
    De rien

    Dans ton code tu emploie Sql , je préfère pour ma part utiliser MySql (non reservé pour VBA), et comme:
    J'utiliserai plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub validation_demande_Click()
     Dim MySql as String
    IF (Me![dateDemandeInterv] <> "" AND Me![salarie] <> "" AND Me![sectionInterv] <> "" AND Me![objetInterv] <> "") Then
            MySql = "INSERT INTO Interventions(dateDemandeInterv, objetInterv, sectionInterv, typeBesoin, salarie) VALUES(#" & Me![dateDemandeInterv] & "#, """ & Me![objetInterv] & """, " & Me![sectionInterv] & ", " & Me![typeBesoin] & ", " & Me![salarie] & ");"
                MsgBox SQL
                docmd.RunSQL (MySql)
    Else
            MsgBox "Erreur : L'ajout n'a pu être effectuer", vbCritical, "echec de l'ajout de la demande"
        End IF
    end sub
    Juste une question :
    impossible d'ajouter des données.
    As tu un message d'erreur.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 25
    Points
    25
    Par défaut
    Merci Thierry pour ces réponses rapides.

    Justement non, je n'ai aucun message d'erreur lors de l'ajout tout s'execute correctement mais les données ne sont pas insérées dans la base. Cependant avec ta méthode un message m'indique que mon ajout n'a pu s'effectuer due à une violation de clé. La clé primaire !!! , elle est en numéro Auto donc normalement aucun soucis.

    Je te remercie d'avance.
    Cordialement,
    TheSnake

    Edit :
    J'ai trouvé la solution à priori le nom de la variable et le point virgule ont fait que celà fonctionne parfaitement. Cependant sur tous les tests effectués mon numéro Auto s'est quand même incrémenté. Bizarre !!! .

    Voici le code
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If (Me![dateDemandeInterv] <> "" And Me![salarie] <> "" And Me![sectionInterv] <> "" And Me![objetInterv] <> "") Then
            MySQL = "INSERT INTO Interventions(dateDemandeInterv, objetInterv, sectionInterv, typeBesoin, salarie) VALUES(#" & Me![dateDemandeInterv] & "#, """ & Me![objetInterv] & """, " & Me![sectionInterv] & ", " & Me![typeBesoin] & ", " & Me![salarie] & ");"
                MsgBox MySQL
                db.Execute (MySQL)

    Merci encore Thierry pour tes réponses.
    Bonne journée à tous.

    Cordialement,
    TheSnake

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

Discussions similaires

  1. [Débutant] Problème d'ajout dans la base
    Par pizzaman dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/04/2013, 12h19
  2. Problème d'ajout dans la base de donnée
    Par minouchaimen dans le forum Doctrine2
    Réponses: 2
    Dernier message: 11/03/2013, 18h27
  3. Réponses: 0
    Dernier message: 21/05/2011, 09h54
  4. tOracleSCD, problème d'ajout dans la base
    Par NTeeN dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 04/06/2009, 11h43
  5. Problème insertion date dans base Access
    Par pep972 dans le forum JDBC
    Réponses: 2
    Dernier message: 13/06/2008, 11h15

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