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 :

(VBA-A] Requete access sous VBA


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut (VBA-A] Requete access sous VBA
    Bonjour voila sous acces97 je fais une requete croises d'une requete3 Voila tout marche bien mais je ne sais pas comment l' utiliser sous VBA


    Requete3 : (requete union)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT Indice_Oam_Histo.HIS_DATE, Indice_Oam_Histo.HIS_CRS_OUVERTURE
    FROM Indice_Oam_Histo
    WHERE (((Indice_Oam_Histo.HIS_DATE)>'20040510') AND ((Indice_Oam_Histo.ID_INDICE)=4))
    UNION SELECT Opcvm_Histo.HIS_DATE, Opcvm_Histo.HIS_MNT_CRS_CPN_REINV, Opcvm_Histo.ID_OPCVM
    FROM Indice_Oam_Histo, Opcvm_Histo
    WHERE (((Opcvm_Histo.HIS_DATE)>'20040510') AND ((Opcvm_Histo.ID_OPCVM)=86) AND ((Opcvm_Histo.ID_OPCVM_D)=1));

    Requete croises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TRANSFORM First([HIS_CRS_OUVERTURE]) AS [La valeur]
    SELECT [HIS_DATE], First([HIS_CRS_OUVERTURE]) AS [Total de HIS_CRS_OUVERTURE]
    FROM Requête3 ***
    GROUP BY [HIS_DATE]
    PIVOT [ID_INDICE];
    *** c'est la que je ne sais pas quoi faire
    Requete3 n'est plus une chaine de caractere et mais le resultat de son execution , comment le faire en VBA ?????

    Merci de m'aider

  2. #2
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Tu peux peut être exécuter la requête, grâce à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.openQuery nomRequête
    Sinon, essaies de mettre requête3 entre crochet.

    Salut, et je trouve ta requête très bien faite

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    en fait je voudrais savoir si je dois declarer requete3 comme un string ou
    ....?
    Sinon quand tu me demande d'executer la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    docmd.openQuery nomRequête
    Est ce que tu veux dire qu il faut que j'execute requete3 avant d'executer requete croisee ???

    MErci de m'aider c cool

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Tan MEEEEEEEEEEEEEEEEEEEEEERCI

    Les crochets ca marche
    trop cool
    Encore merci
    Tu contribues bcp a me faire aimer mon stage
    Merci ReEncore

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    a non ca marche pas en fait
    C que le requete3 correspondait a une requete d'access deja faite et non a ma requete3 VBA
    Voila en fait ma question est comment declarer requete3 ???
    Sniff j etais si heureux .......

  6. #6
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Sorry, je croyais que requête3 était une requete Access, donc oubles mes deux solutions.

    Donc, si tout es en VBA, fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM First([HIS_CRS_OUVERTURE]) AS [La valeur] 
    SELECT [HIS_DATE], First([HIS_CRS_OUVERTURE]) AS [Total de HIS_CRS_OUVERTURE] 
    FROM (" & Requête3 & ")  
    GROUP BY [HIS_DATE] 
    PIVOT [ID_INDICE];
    Mais, je ne sais pas comment executer et recupérer les infos d'une requête transforme. Mais si tu sais, la chaine caractère est ce que je t'ai mis en haut.

    Voilà, sinon, passe par des requête enregistrée sous accesss, et dans vba fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.openQuery nomRequêteTransform
    Désolé, je regarderai peut être de plus près plus tard.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    merci je vais tester
    En fait quand j avais creer ma requete3 sous acces et que je testais ma requete Transform de VBA sur cette requete3 ca semblais marchais
    Est-ce que je peux pas enregistrer (ou executer) * ma requete3 depuis vba car la suite semble marchais


    * En fait quand on fais une requete selection depuis VBA comment l'execute t on (moi je passais par des recordset pour recuperer mes reultats mais je ne sais pas comment juste enregistrer une requete depuis vba)

    Sinon je tenterai autre chose mais je trouve ca dommage car ca semblais sympa

    Sinon j 'ai honte de ne pouvoir te Re(dire) que merci

  8. #8
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Oui tu peux.

    Tu peux faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    db.QueryDefs.Delete "Requete3"
    pour enlever celle existant puis, pour la créer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    db.CreateQueryDef("Requete3", requete3)
    le premier "Requete3" est le nom de la requête, le second est la chaine sql de la requête.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    je pense que c ca qu'il faut faire
    mais VB me demande un egal devant
    db.CreateQueryDef("Requete3", requete3) quel le type que renvoi cette instruction ?

  10. #10
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    excuse, erreur de syntaxe. Pour info il renvoie un query (objet requête que tu peux executer...).
    quand on utilise une fonction, on fait soit avec les parenthèse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    truc = maFonction(mesVariables...)
    sans les parenthèse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maFonction mesVaraibles
    C'est tout, donc enlèves les parenthèses et ça roule.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut Hourra
    Mon cher tan c avec grande joie et reconnaissance que je t annonce que le probleme est enfin resolu (grace a toi)

  12. #12
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut Hourra
    Mon cher tan c avec grande joie et reconnaissance que je t annonce que le probleme est enfin resolu (grace a toi)

    [/code]

  13. #13
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Très grand remerciment à ce que je vois, 2 messages rien que pour me remercer, ça me va droit au coeur.

    Et bon courage pour ton stage.

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

Discussions similaires

  1. [VBA-A ] requete paramétrée sous access
    Par mymeal dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/08/2006, 17h54
  2. [VBA-E] Requete SQL sous Excel
    Par climz dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/05/2006, 14h05
  3. Pb Requete suppression sous VBA
    Par stan314 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 12/05/2006, 11h06
  4. [VBA] [ACCESS] Accès à une requete Access via VBA
    Par Yanmeunier dans le forum Access
    Réponses: 3
    Dernier message: 16/03/2006, 11h48
  5. Récupérer une sheets dans excel vers access sous vba
    Par odbee dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2005, 00h30

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