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 :

Executer requetes en chaîne [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de AlainL
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 178
    Par défaut Executer requetes en chaîne
    Bonjour

    J'ai dans une Db, plusieurs requêtes à exécuter l'une après l'autre, certaines sont des sélections, d'autres des mises à jour.

    Souhaitant automatiser cela, j'ai le code suivant sur Clic d'un bouton dans un formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    Dim db As Database
    Set db = CurrentDb
    CurrentDb.Execute ("Requete1")
    CurrentDb.Execute ("Requete2")
    Etc ...
    Cela semble fonctionner pour les requetes action, mais dans les requetes sélection j'ai toujours le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur d'éxécution '3065'
    Impossible d'éxécuter une requete sélection
    Y a-t-il un moyen de passer outre ceci, sans réécrire dans le code de l'évenement Clic toutes les instructions de ces requêtes ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Exécution : Action
    C'est normal que tu ne puisses effectuer que des requêtes actions.
    Si tu cliques sur une requête sélection, tu l'ouvres.
    C'est donc la même chose en Vba

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Par défaut
    Bonjour
    plusieurs requêtes à exécuter l'une après l'autre, certaines sont des sélections
    Il n'y a aucin intérêt à exécuter des requètes sélection par VBA si on n'affiche pas le résultat (je rejoins GAYOT la dessus).

    Petit rappel (au cas où) :
    Dans Access, lorsque une requête est basée sur une succession d'autres requête, il n'est pas nécessaire de les exécuter les unes après les autres. Le fait d'exécuter la dernière suffit, Access se charge d'exécuter les requètes précédentes.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par fgiambelluco Voir le message

    Petit rappel (au cas où) :

    Dans Access, lorsque une requête est basée sur une succession d'autres requête, il n'est pas nécessaire de les exécuter les unes après les autres. Le fait d'exécuter la dernière suffit, Access se charge d'exécuter les requètes précédentes.
    Petit rappel auquel je rajouterai que la requête est rarement une fin en soi, et qu'elle sert essentiellement de sources à des formulaires ou états. L'ouverture directe de ces requêtes est donc relativement peu utilisée.

  5. #5
    Membre confirmé Avatar de AlainL
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 178
    Par défaut
    Umm... Merci Gayot: Mais le OpenQuery justement m'ouvre la table résultante, alors que je souhaiterais que ceci se passe de manière invisible à l'utilisateur.

    Est-ce possible ?

    Fgiambelluco: Je comprends bien, dans ce cas, je dois simplement les exécuter de manière à assurer qu'elles contiennent bien les toutes dernières données entrées, et de manière "invisible" pour l'utilisateur.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Heu.
    Mai pourquoi veux tu ouvrir ta requête sélection? C'est bien pour voir les résultats?

    Si tu as un état basé sur cette requête, tu n'as pas besoin de lancer la requête préalablement puis d'ouvrir l'état. C'est totalement invisible pour l'utilisateur.

  7. #7
    Membre confirmé Avatar de AlainL
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 178
    Par défaut
    Ah, pardon Gayot: je me suis probablement mal exprimé.

    J'ai une requete R1 qui extrait les infos de la db;
    Une R2 (sur la base de R1) qui les regroupe d'une certaine manière (par exemple l'année choisie dans le formulaire ayant le bouton qui appelle cette procédure);
    Une R3 (sur la base de R2) qui crée une nouvelle table;
    Une R4 (sur la base de la table créée par R3) qui modifie cette table;
    Et enfin un état qui se base sur le résultat de R4.

    Ce processus devrait être transparent à l'utilisation, l'utilisateur faisant simplement un Clic sur le bouton concerné.

    Donc, sur Clic, il devrait se passer dans l'ordre:
    1 - executer R1
    2 - exécuter R2
    3 - exécuter R3
    4 - exécuter R4
    5 - sortir létat

    Les étapes 3 à 5 sont résolues. Par contre, je n'arrive pas à lui faire faire 1 et 2.

    Suis-je plus clair ?

    Merci

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

Discussions similaires

  1. limiter temps d'execution requete pour protéger ma base
    Par crazykangourou dans le forum Oracle
    Réponses: 2
    Dernier message: 09/02/2007, 13h13
  2. [débutant]probleme execution requete INSERT
    Par melodie53 dans le forum JDBC
    Réponses: 2
    Dernier message: 03/08/2006, 16h45
  3. Execution requete des ouverture base
    Par Sam 069 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/07/2006, 08h46
  4. [MySQL] Problème exécution requête
    Par snaxisnake dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 08/05/2006, 16h00
  5. [VB.net] Probleme execution requete
    Par nico10gbb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/04/2006, 11h13

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