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

Access Discussion :

Cannot execute a select query. erreur de recuperation de données


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut Cannot execute a select query. erreur de recuperation de données
    bonjour a tous.
    j'ai un soucis sur lequel je bloque.
    je veut en vba ajouter dans une variable la valeur d'un champs d'une table.

    le pb est que je ne sais pas comment faire.

    j'ai mis ce code

    declaration d ela variable

    lancement de la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
             Set reqdestinataire = CurrentDb.QueryDefs("mail_commercial")
            'definition de la clé pour le test...'
             reqdestinataire.Parameters("Clé") = parametre1
             reqdestinataire.Execute
    la var parametre a bien la bonne valeur

    et quand je lance tout ca, il me met le titre de mon topic a savoir: cannot rexecute a select query...

    De plus je n'ai pas encore mis que mon champs var1 = var1 & le resultat de la requete ...

    qqun peux maider svp?

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Sauf erreur de ma part, le message est clair. Ta requête est de type sélection, alors que la méthode Execute ne concerne que les requêtes de type Action.

    TU veux faire quoi?


    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    executer la requete... c'est un select from.... et ca renvoie une valeur que je veux ajouter dans une variable.
    tu saurai comment faire?

    je prefererai la lancer a partir du vba etr la creer sour access, mais si je dois la declarer et lexecuter a partir du vba, tant pis, je vais pas etre plus chiant que ce que je suis ...


    merci de ta reponse en tout cas

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Alors il y a bien une erreur. Tu dois plutôt écrire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaVariable = DLookUp("NomDuChamp","NomRequête", "Condition éventuelle")
    La condition n'est pas nécessaire si ta requête ne renvoie qu'une valeur.

    Bon courage,

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    Pourrais tu etre un peu plus precis stp????

    j'ai tester ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            Set reqdestinataire = CurrentDb.QueryDefs("mail_commercial")
            'definition de la clé pour le test...'
            reqdestinataire.Parameters("Clé") = OAOREF
            Destinataire = DLookup("mail", "mail_commercial")
    mais ca me marque


  6. #6
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Re,

    Peux-tu
    - montrer le SQL de la requête?
    - dire ce qu'est AOOREF?

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  7. #7
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Sans ta réponse, je te conseillerais un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set reqdestinataire = CurrentDb.QueryDefs("mail_commercial")
            'definition de la clé pour le test...'
            ParametersChange "mail_commercial",reqdestinataire.Parameters("Clé") ,OAOREF
            Destinataire = DLookup("mail", "mail_commercial")
    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par pgz
    Re,

    Peux-tu
    - montrer le SQL de la requête?
    - dire ce qu'est AOOREF?

    pgz

    pour le sql de mlail_commercial c'est celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    SELECT Attachée_commerciale.mail
    FROM Attachée_commerciale INNER JOIN Réclamation ON Attachée_commerciale.Code_attaché_com = Réclamation.Attachée_commerciale
    WHERE (Attachée_commerciale.Code_attaché_com=[Clé]);
    OAOREF est le code (cle primaire) de la personne dans la table réclamation. cette table permet d'avoir les infos du commercial, et la je demande son mail.

    le code comm de la table reclamation est relié a code_attaché_comm dans la table attaché_comm
    (dans ma table attachée_comm jai les champs code_attaché_comm, mail et nom



    sinon ton code me marque sub ou fonction non definie...
    il bug sur ParametersChange

    jai pas activé une extensions dasn access?

  9. #9
    Débutant Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Points : 121
    Points
    121
    Par défaut
    je ne sais pas suis permis de dire mais pourkoi tu n'utilise pas quelque chose de type
    Dim Db as DAO.Recordset

    Sql= " TA REQUETE...."
    Set Db= CurrentDb.OpenRecodset(Sql)
    Le club Sportif Sfaxien "Black and White Fighters" !

  10. #10
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Excuse c'est parce que j'avais fait un essai en utilisant une fonction perso.

    Au temps pour moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Destinataire = DLookup("mail", "mail_commercial";"Attachée_commerciale.Code_attaché_com= " & OAOREF & ");"
    Si OAOREF est un entier long, et tu enlèves le paramètre de la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Attachée_commerciale.mail
    FROM Attachée_commerciale INNER JOIN Réclamation ON Attachée_commerciale.Code_attaché_com = Réclamation.Attachée_commerciale;
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par torNAdE
    je ne sais pas suis permis de dire mais pourkoi tu n'utilise pas quelque chose de type
    Dim Db as DAO.Recordset

    Sql= " TA REQUETE...."
    Set Db= CurrentDb.OpenRecodset(Sql)
    merci du coup de main mais ce que je prefererais cest avoir ma requete non pas dans le vba mais dans access direct

    mais merci a toi . sois pas gener de proposer des trucs cest ce a quoi sert le forum et cest tres gentil a toi de mavoir accordé 5mn

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    pour la valeur c'est bon... le bon code est


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Destinataire = DLookup("mail", "mail_commercial", "Attachée_commerciale.Code_attaché_com= " & OAOREF & "")


    mais ca me marque toujours...

    operation annulé

  13. #13
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Sur quelle ligne du code?
    Le debugueur se délenche?

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    ben je sais sur quel lgne...

    j'ai quand je clique sur le bouton une msgbox qui me dit: opération annulé...
    et pas de debuggeur
    voila mon code complet

    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
    33
    34
    35
    36
    37
    38
    39
     
     
     
    'passer a la ligne'
        Set rstTemp = Me.recordset
        With rstTemp
            'mise en relation variable/requete'
            Set reqtransfert = CurrentDb.QueryDefs("tranfert en_attente -  Réclamation")
            reqtransfert.Parameters("Clé") = OAORNO
            reqtransfert.Execute
     
     
                     '-----------------------------------------'
                    'parametrage des destinataires des mails'
    '                 Destinataire = "X@X.com ; X@X.com"
     
                     '-----------------------------------------'
     
     
     
        Destinataire = DLookup("mail", "mail_commercial", "Attachée_commerciale.Code_attaché_com= " & OAOREF & "")
     
     
        End With
     
     
     
                  Réponse = MsgBox("Confirmer l'envoi d'un message pour la réclamation " & OAORNO & " à " & Destinataire, vbYesNo + vbQuestion, "CONFIRMATION SVP")
     
                    If Réponse = vbYes Then
                           'generation du fichier snp pour piece jointe'
                            stDocName = "Voir la réclamation"
                            DoCmd.OutputTo acOutputReport, "Voir la réclamation", acFormatSNP, PieceJointe, False
                            'generation du fichier snp pour piece jointe'
                            LeMessage = "Voici en piece jointe la réclamation numéro " & OAORNO & " concernant le client " & OAALCU & " (numéro de client: " & OACUNO & ")." & "%0A" & "%0A" & "Bonne reception" & "%0A" & "L'équipe Logistique"
                            LObjet = "Réclamation numéro " & OAORNO & " (Saisie le " & OAOSDT & ", Traitée le "
     
                             EnvoieMail Destinataire, LObjet, LeMessage, PieceJointe
                    End If

    si je commente la ligne, ca marche...

    je comprend pas.

    peut etre aije pas activé une reference non?






    EDIT: en mettant ca en code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Destinataire = Destinataire & DLookup("mail", "mail_commercial", "Attachée_commerciale.Code_attaché_com" = OAOREF)
    , ca ne me met plus la msg box mais ca march epas. ca ne me recupere pas la valeur ...

Discussions similaires

  1. Xcelsius XLS 000009 : failed to execute select query
    Par S_ami dans le forum Autres produits SAP BO
    Réponses: 0
    Dernier message: 18/10/2012, 13h14
  2. [AC-2002] Executer un SELECT en VBA et exploiter les données
    Par Zuthos dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/08/2012, 17h27
  3. [ZF 1.11] Cannot execute queries while other unbuffered queries are active.
    Par __fabrice dans le forum Zend_Db
    Réponses: 4
    Dernier message: 20/06/2012, 10h43
  4. erreur de recuperation de donne avec jsf
    Par alen22 dans le forum JSF
    Réponses: 11
    Dernier message: 25/03/2011, 08h19
  5. Erreur après compilation : cannot execute binary file
    Par Djo00 dans le forum Administration système
    Réponses: 8
    Dernier message: 21/07/2006, 16h26

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