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

Requêtes et SQL. Discussion :

requête liée DB serveur [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut requête liée DB serveur
    Bonjour à tous,

    Peut-on lier une requête qui se trouve dans un DB (dorsale) qui se trouve sur un serveur à des applicatifs (frontaux) qui ne contiennent que des formulaires de consultation.
    L'idée est de ne faire transiter pas le réseau que les informations nécessaires plutôt que de lier les tables complètes.

    J'ai pu voir que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferDatabase acLink, "microsoft access", "...\data.mdb", acQuery, "RQ1", "RQ1"
    existait dans le VBA, naturellement tel quel ça ne fonctionne pas.

    QQ a-t-il une idée, ceci permettrait d'économiser les ressources réseaux.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    Bonjour,

    l'embouteillage reseau sera obligatoire, car Access fonctionnant avec une logique fichier, il n'y a pas de client/serveur, avec une requete unique qui transite dans un sens, un travail de requetage par le serveur, et seules les donnees resultats qui transitent dans l'autre sens.

    Cette notion est particulierement bien expliquee dans le tutoriel de SQLPro
    http://sqlpro.developpez.com/cours/sgbdr/

    Si par contre tu mets tes data sur un SQL serveur, ca peut "simplifier" tes flux de data.
    http://www.developpez.net/forums/d46...veur-possible/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut
    Hélas l'organisation pour laquelle je travaille n'a pas choisi SQL serveur, mais plutôt PostgresQL, Access y est cependant admis.
    Je ne sais malheureusement pas comment faire interagir une application frontal .accdb et des requêtes sur PosgresQl, d'où ma question pour essayer de trouver une moyen de faire dialoguer des applications décentralisées et une DB Access sans trop solliciter le réseau.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 088
    Points : 5 204
    Points
    5 204
    Par défaut
    Bonsoir,

    Access peut servir de frontal à une dorsale Posgresql ou Oracle aussi bien qu'une dorsale SQL server, par contre il faut écrire les requetes en ADO (donc avec la syntaxe posgresql) sinon les temps de réponse sont mauvais sur les requetes complexes.

    Cela peut fonctionner soit en liant les tables soit avec une connexion logicielle "temporaire".
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut
    Bonsoir,

    Merci pour ta réponse, mais pardonne mon ignorance, mais qu'est ce qu'une connexion logicielle "temporaire" ? une liaison le temps d'exécuter la requête ?
    Est-ce qu'une requête avec la syntaxe posgresql est différente de ce qu'on écrit dans access ? Connais-tu des Tutos ?
    Si je lie une application frontal à des tables posgresql est-ce que j'obtiens moins de volume qui transite par le réseau pour les requêtes exécutées sur ces tables ?

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 088
    Points : 5 204
    Points
    5 204
    Par défaut
    Citation Envoyé par kervin Voir le message
    mais qu'est ce qu'une connexion logicielle "temporaire" ? une liaison le temps d'exécuter la requête ?
    C'est une requete qui n'est pas sur currentDB (=tables liées) mais sur une connexion déclarée dans le code (localement ou pour toute la durée de la session)
    Exemple d'une syntaxe valable pour tout type de base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function Get_cycle_complet(ByVal cd_article As Long) As Integer
    Dim connect As new ADODB.Connection, rso As new ADODB.Recordset
    Get_cycle_complet = 0
    connect.Open "MaConnexionString"  
    rso.open "SELECT cycle_complet FROM article_champ WHERE cd_article=" & cd_article, connect, adOpenStatic
    If Not rso.EOF Then If rso!cycle_complet > 0 Then Get_cycle_complet = rso!cycle_complet
    Set rso = Nothing
    Set connect = Nothing
    End Function
    Citation Envoyé par kervin Voir le message
    Est-ce qu'une requête avec la syntaxe posgresql est différente de ce qu'on écrit dans access ? Connais-tu des Tutos ?
    Le Standard Query Langage n'est malheureusement pas standard pour 80% de ses fonctions. Quand on utilise une syntaxe access/DAO, le PC importe toutes les tables et exécute la requete localement, c'est plus long et ça surcharge le réseau
    Bon tuto comparatif

    Citation Envoyé par kervin Voir le message
    Si je lie une application frontal à des tables posgresql est-ce que j'obtiens moins de volume qui transite par le réseau pour les requêtes exécutées sur ces tables ?
    Quand ta frontale fait une requete ADO elle est exécutée sur le serveur qui envoie le résultat. A toi de faire en sorte de ne pas trop en demander
    Ceci dit, si c'est un réseau local Gigabit il en faut beaucoup pour le mettre à genoux !
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Tu peux créer une requête dans accès et dans ses propriété lui donne le informations de connections a sql serveur.

    Aussi ta requête ferait un select * sur ta vue sql Server!

    Nom : Sans titre.png
Affichages : 158
Taille : 20,9 Ko
    Dernière modification par Invité ; 24/10/2016 à 10h28.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut
    Merci pour les infos, je vais essayer de mettre tout ça en oeuvre
    Bonne soirée

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

Discussions similaires

  1. requête mysql sur serveur wamp en local !
    Par sebalab dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 19/04/2007, 19h18
  2. Réponses: 3
    Dernier message: 21/02/2007, 16h31
  3. Réémission requête GET sur serveur Apache
    Par aquafiestas dans le forum Réseau
    Réponses: 18
    Dernier message: 04/10/2006, 14h28
  4. Formulation de la requête liée à la date
    Par wperle dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/11/2005, 15h37
  5. Requête sur un serveur lié
    Par Guizz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/08/2003, 11h35

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