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 :

Probleme de SQL au milieu de mon code VBA [AC-2000]


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut Probleme de SQL au milieu de mon code VBA
    Bonjour a tous

    J'ai absolument nesoin de votre aide

    Je suis entrain de déveloper une petite aplication en VBA depuis access deriere les boutons de commande d'un formulaire

    Mon probleme est que je n'arrive pas a exécuter de requete SQL dans mon code car apres avoir déclaré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Dim sql As String
        Dim num As Integer
        Dim qd As QueryDef
    a la compilation il bloque sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        Dim qd As QueryDef
    et me renvoy le message d'erreure suivant :
    Erreur de compilation
    Type défini par l'utilisateur non défini

    Quand j'utilise l'aide F1 sur cette ligne, il me sort Mot clé Introuvable

    Je suis avec Access 2000, je ne c'est pas quel librarie je doit utiliser
    Certain me parle de Microsoft Excel 11.0 Object Library et dotre de Microsoft Access 11.0 Object Library

    Dans tous les cas je n'est ni l'une ni l'autre

    est-il possible de rajouter manuellement ces librairie??
    sinon exist-il un autre moyen de procédé?

    Je ne peut pas travailler avec des requete statique car dans le formulaire, je recupaire la clef primaire des élément a suprimer ainssi que le nom de la table ou se trouve la ligne a suprimer

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Bonjour,

    Ceux qui te parlent de
    "Microsoft Excel 11.0 Object Library et Microsoft Access 11.0 Object Library"
    Sont de sombres idiots incompétents.

    Il te faut la bibliothèque DAO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft DAO 3.xx Object library
    En savoir plus !
    http://support.microsoft.com/kb/197110/fr

    Les rajouter :
    VBE menu outils/références...

    Note que tu passer par du SQL via VBA sans pour autant utiliser l'objet Query.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sql = "SELECT ....."
    docmd.runSQl sql
    'ou 
    currentdb.execute sql
    Il y a un tuto là dessus. Après 3 secondes de recherche http://ledzeppii.developpez.com/instrsqlvb/

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 122
    Par défaut
    Citation Envoyé par loufab Voir le message
    Bonjour,

    Ceux qui te parlent de
    "Microsoft Excel 11.0 Object Library et Microsoft Access 11.0 Object Library"
    Sont de sombres idiots incompétents.

    Il te faut la bibliothèque DAO
    Tiens, on parle de moi . Autant pour moi, je penseais que l'objet QueryDef faisait parti des bibliothèques Access et j'avoue ne pas avoir vérifié l'explorateur d'objet. Mea culpa.

    Cordialement,

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    Manhexter se n'est pas grave le prinsipal c'est que le probleme soit résolue ^^

    Par contre loufab désoler pour ton tuto mais c'est surement pas de lui que tu a sortie les ligne de code suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        DoCmd.RunSQL sql
        'ou
        CurrentDb.Execute sql
    j'ai quand meme trouver dans se tuto quelque explication qui me seront utile pour la suite des opération donc merci quand meme


    Pour en revenir a ton code apres quelque test j'ai trouvais un code qui permé de lutiliser sans probleme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Dim sql As String
        Dim num As Integer
     
     
        num = Me!saisie1
        sql = "DELETE from tableproscrie where numpersonne = " & num & ";"
     
        DoCmd.RunSQL sql
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Dim sql As String
        Dim num As Integer
     
     
        num = Me!saisie1
        sql = "DELETE from tableproscrie where numpersonne = " & num & ";"
     
        CurrentDb.Execute sql
    Il faut savoir qu'il y a une légere différence entre les deux, dans le premier, avant que la ligne soit suprimé, le trombonne assistent te prévien que tu va suprimer 1 ou plusieur ligne et te demande confirmation
    dans le cas numero 2, il ne se passe rien, rien ne te dit si la requette c'est exécuter corectement ou non

    Je prefaire ne pas utilisé lassistent car sinon beacoup de clic inutil pour lutilisateur

    Mais j'aimeré beaucoup savoir s'il est possible de vérifier si la requete s'est bien executer ou mal et de metre une zonne de texte qui ne soit pas de saisie mais celement d'affichage pour faire aparetre une petite phrase qui dit que la requette s'est bien executer

    Merci

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    D'abord désolé pour Manhexter c'était sur le ton de la plaisanterie () tout le monde fait des erreurs. Je tenais en m'en excusé si je t'ai froissé.

    Pour Teen : Non évidement le petit exemple ne provient pas du tuto il provient directement de mon cerveau (mince j'en ai un ?! ).

    Si ça ne marche pas il va te le faire savoir (remontée d'une erreur). Tu peux le forcer à remonter une erreur (valable pour les moteurs externes -non jet-) en utilisant un dbfailonerror dans le execute (voir F1 pour la syntaxe exacte) et trapper l'erreur au moyen d'un On error.

    Après si vraiment tu es parano tu peux vérifier en recherchant ce que tu viens de supprimer : requete, DAO findfirst à toi de choisir la manière.
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 122
    Par défaut
    Citation Envoyé par loufab Voir le message
    D'abord désolé pour Manhexter c'était sur le ton de la plaisanterie () tout le monde fait des erreurs. Je tenais en m'en excusé si je t'ai froissé.
    Et c'est bien comme plaisanterie que je l'ai pris, pas de soucis

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    Merci tout le monde

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

Discussions similaires

  1. Correction de mon code vba svp
    Par njinkeu.mbakob dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/04/2008, 12h21
  2. [debutant] comment transposer mon code vba excel en access
    Par eclipse012 dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/02/2008, 08h23
  3. [SQL + VB.NET] Alléger mon code pour un accès plus rapide
    Par Miles Raymond dans le forum VB.NET
    Réponses: 8
    Dernier message: 15/10/2007, 23h09
  4. Comment verouiller mon code vba?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/06/2007, 19h06
  5. afficher un graphique dans word à partir de mon code vba
    Par guysocode dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/11/2005, 14h15

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