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 :

requête sql direct modifiée via vba


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 9
    Par défaut requête sql direct modifiée via vba
    Bonjour,

    Je fais des requêtes sql direct pour récupérer des données sous AS400 pour un grand nombre d'établissements. Chaque établissement est une instance séparée dans AS400.

    Pb : actuellement, si je veux lancer une requête identique pour 2 établissements distincts, il faut que je duplique ma requête et que je modifie à la main les paramètres pour aller taper dans la bonne instance : c'est moche et fastidieux.

    Ex: établissement 1
    requête1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from piclin927.mcp01

    établissement 2
    requête2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from piclin213.mcp01

    Ma question est donc : est-il possible avec un code vba (ou mieux via une macro car je ne sais pas encore programmer en vba...) d'aller lire une requête sqldirect, et de l'exécuter autant de fois que nécessaire en allant chercher le paramètre qui varie dans une table ? Si oui, quelle pourrait être la structure d'un tel code.

    J'ai trouvé dans les faq comment exécuter une requête via du vba mais il s'agit d'une requête standard et non sql direct

    Merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir
    As tu été voir à la fin de ce tuto:
    http://jdgayot.developpez.com/tutori...s/importAs400/

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 9
    Par défaut
    Citation Envoyé par GAYOT Voir le message
    Bonsoir
    As tu été voir à la fin de ce tuto:
    http://jdgayot.developpez.com/tutori...s/importAs400/
    Non, je n'avais pas vu ce tuto. Cela semble être de la balle, je regarde et je reposte si je suis toujours à la rue !

    Merci !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 9
    Par défaut après test du tuto
    Bonjour,

    Merci pour ce super tuto, Gayo.
    J'ai juste un petit pb sur la fin pour la 2ème méthode : "Après il suffira avec l'assistant:
    - soit de faire une requête de création de table à partir de "Qry_Import" ;
    - soit de faire une requête "Ajout" pour alimenter une table déjà créé"

    Je comprends bien que la fonction maj_qry_import est sensée mettre à jour le code de la requete initiale qry_import qui possède les attributs de connexion.

    Mais comment "exécuter" cette fonction à partir de l'assistant par exemple en faisant une création de table ?
    Car si je crée une requete création de table basée sur Qry_import, il faudrait qu'à un moment je spécifie qu'il s'agit de la version modifiée de cette requête càd qu'elle prenne la valeur de 'strsql'...

    Désolé pour la question idiote...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Il n'y a pas de questions idiotes.
    Par contre je ne suis pas sûr de comprendre où est le problème.
    La procédure "Maj_QryImport" pourra être lancée dès que les variables pourront avoir une valeur.
    Dans notre exemple si nous nous saisissons la variable de date dans la zone de saisie du formulaire d'accueil, il nous suffira de mettre un évènement "Après mise à jour" sur cette zone:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Txt_DateBon_AfterUpdate()
        Call Maj_QryImport
    End Sub
    La requête directe "Qry_Import" sera ainsi modifiée avec la valeur de la zone de texte. Toutes les requêtes de création ou de mise à jour faisant référence à "Qry_Import" auront donc les bonnes valeurs.

    Nous aurions pu lancer cette procédure sur un autre évènement (ouverture d'un formulaire, bouton, changement d'onglet...etc). IL faut adapter en fonction du contexte.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 9
    Par défaut
    Super, j'ai compris et cela marche dans mon cas : j'ai appelé maj_qryimport sur mise à jour d'une liste de valeur de DNS de connexion.

    Il me reste à faire une boucle dans le cas de sélection multiples de valeur de DNS, afin que la requête sql direct s'exécute sur le premier DNS, puis le second, ... etc
    Dans cette boucle, je compte utiliser la fonction replace().

    Une idée de tuto vers lequel m'orienter pour construire cette boucle avec replace ?

    En tout cas merci beaucoup pour votre aide !! c'est vraiment sympa et grâce au site je progresse tous les jours sur Access (et c'est pas mon job...).

Discussions similaires

  1. [AC-2003] création d'une requête SQL directe en VBA
    Par patbeautifulday dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/06/2009, 14h09
  2. Requête SQL Direct et tables locales
    Par Chtulus dans le forum Access
    Réponses: 7
    Dernier message: 07/05/2008, 13h43
  3. [VBA et SQL] Requête SQL utilisant une variable VBA
    Par Altrensa dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 06/07/2007, 10h23
  4. Requête SQL Direct à partir de VBA
    Par petitmic dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 25/05/2007, 17h35
  5. ouvrir requête en mode création via VBA
    Par fpecastaing dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/02/2007, 10h29

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