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 :

Besoin de vérification de code VBA


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 108
    Points : 38
    Points
    38
    Par défaut Besoin de vérification de code VBA
    bonjour à tous

    Pouvez-vous verifier si le code est juste ..je voudrais insérer dans ma table nommée table la section de ma liste deroulante qui est appelée par me.cc
    Mais dans mon formulaire lorsque je clique sur ma liste deroulante il ne m'affecte pas directement la valeur dans la table il m'ouvre une fenetre me disant d'entrer un paramètre ce que je ne veux pas je veux qu'il prennent directement la valeur selectionée.

    Par ailleurs lors de l'execution de ce programme il me dit

    ( il recupere bien une valeur par exemple toto qui est un champ de ma liste deroulante) mais pour

    il me dit valeur = NULL ..

    ????

    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
     
    Private Sub cc_Change()
     
    Call Rt
    End Sub
     
    Public Sub Rt()
     
    Dim oRst As DAO.Recordset
    Dim oDb As DAO.database
    Set oDb = CurrentDb
    Set oRst = oDb.OpenRecordset("table", dbOpenTable)
     
    Dim req As String
    Me.cc = Me.cc.Column(1)
    req = "INSERT INTO table (E,E1,E2) VALUES(Me.cc,Me.cc,Me.cc) "
    DoCmd.RunSQL req
     
    'Libération des objets
    oRst.Close
    oDb.Close
    Set oRst = Nothing
    Set oDb = Nothing
    End Sub
    merci de m'aider.

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    salut,
    access ne connait pas d'objet Me
    essaie plutôt avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    req = "INSERT INTO table (E,E1,E2) VALUES(" & Me.cc & "," &  Me.cc & ", " & Me.cc") "
    DoCmd.RunSQL req
    attention au cas où les champs sont de type texte (nécessitent des quotes) ou de type date (format #MM/DD/YYYY#)
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 108
    Points : 38
    Points
    38
    Par défaut
    Re bonjour,

    Je viens d'essayer ce que vous m'avez écrit donc je recupère bien la valeur par exemple toto dans ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VALUES( " & Me.cc& "," & Me.cc & ", " & Me.cc& " )"
    Mais j'ai une erreur lorque je lance mon formulaire lors de la selection de ma liste deroulante il écrit :

    Erreur D'execution 3075

    Erreur de syntaxe(opérateur absent dans l'expression 'toto'.
    lors de clique sur debogague il me renvoie sur la ligne suivante :
    Merci d'avance

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    quel est le contenu de la variable req lorsque tu l'exécutes stp ?
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 108
    Points : 38
    Points
    38
    Par défaut
    Mon contenu est :

    Lors d'un passage sur il m'affiche Toto sur chacun des paramètres puis sur le passage de j'ai l'affichage de la req.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    req = "INSERT INTO table (E,E1,E2) VALUES(" & Me.cc & "," &  Me.cc & ", " & Me.cc") "
    DoCmd.RunSQL req

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 108
    Points : 38
    Points
    38
    Par défaut
    je voulais préciser qu'en faite le programme fonctionne dans le sens ou il peut rajouter une ligne, à la première selection il dit qu'il va rajouter une ligne à ma table en cliquant sur oui (je rajoute) ou non, je clique sur oui. mais je n'ai rien dans table il rahoute bien une ligne d'enregistrements mais elle est vide.

    je suis vraiment desespéré je ne trouve pas ...

    par contre si je clique une deuxieme fois sur ma liste deroulante il m'affiche l'erreur d'execution detaillé au dessus sur les anciens posts.

  7. #7
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    si tu veux insérer "toto", donc une chaine de caractères, il faut ajouter les quote :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req = "INSERT INTO table (E,E1,E2) VALUES('" & Me.cc & "','" &  Me.cc & "', '" & Me.cc & "') "
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 357
    Points : 355
    Points
    355
    Par défaut
    Bonjour,

    Attention avec cette synthaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req = "INSERT INTO table (E,E1,E2) VALUES('" & Me.cc & "','" &  Me.cc & "', '" & Me.cc & "') "
    Il ne faut pas qu'il y ait d'accent dans Me.cc, sinon cela ne fonctionnera pas.

    Avec la synthaxe qui suit cela fonctionne avec des accents
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req = "INSERT INTO table (E,E1,E2) VALUES(""" & Me.cc & """,""" & Me.cc & """, """ & Me.cc & """)"

Discussions similaires

  1. [XL-2007] Besoin d aide sur code vba
    Par alexandrek dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/01/2011, 17h10
  2. [XL-2003] besoin code VBA Excel
    Par blforprogress dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/09/2010, 10h44
  3. [Toutes versions] Besoin de conseils pour stockage de code VBA
    Par jeff1494 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/08/2009, 21h20
  4. Besoin d'un code VBA
    Par kikijoli dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/07/2008, 12h06
  5. Réponses: 2
    Dernier message: 09/06/2006, 14h38

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