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

Macros et VBA Excel Discussion :

TCD & SQL [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2010
    Messages : 142
    Par défaut TCD & SQL
    Bonjour,
    Je reviens vers le forum pour vous demander une aide à propos des tableaux croisées dynamique à base de requete SQL.

    Actuellement je travail sur une application VBA Excel, j'ai pu generer un tableau croisée dynamique (à l'aide de l'enregistreur de Macro) automatiquement de l'application.
    Les données du TCD proviennent d'une connexion avec une BD->table.

    Dans un premier temps, je souhaiterais savoir si c'est possible de generer des TCD specifiques à une requete SQL. L'application gere aussi des droits d'acces, et je souhaiterais que chaque utilisateur ne puisse acceder qu'à un certain niveau de données (seul la clause Where change, rien de trop mechant).

    Apres, lors de l'extraction des données et leurs mise en place sur le TCD, il y'a un champ Date (jj/mm/aaaa) qui est aussi mis sur le TCD. Je voudrais savoir si c'est possible de regrouper les données par Date, en prennant en compte les mm de chaque ligne.

    Comme suit :
    _______|__Janvier_____|___Fevrier_____|
    colonne|colonne|colonne|colonne|colonne|
    ********************************

    Pas de soucis s'il y'a des doublons ...


    Voila

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 555
    Par défaut
    Bonjour

    Pour les accès il serait peut-être plus simple de gérer l'accès aux vues dans la base elle-même si elle le permet.

    Sinon il faut piloter la requête par VBA.

    Pour les dates : oui on peut regrouper les dates par mois (et année si plusieurs années). Clic droit sur une date

    Vois avec l'enregistreur de macros la syntaxe et si tu coinces, reposte.

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2010
    Messages : 142
    Par défaut
    Bonjour,
    Je tennais tout dabors à te remercier pour cette reponse !

    Oui, effectivement, je coince.

    Donc pour regrouper les données par Mois, le TCD prends comme reference quoi?
    Et comment on procede?

    Et pour les vues aussi, comment travailler sur des vues, plutot que sur la base elle meme? (Car j'ai besoin de deployer la base sur le reseau, OR ! avec la taille de la BD, ça risque de ne pas etre evident ).
    Du coup, j'ai pensé aux vues . . .

    Des idées? ^^'

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 555
    Par défaut
    Re

    Tu mets la date en étiquette de colonne puis clic droit sur une date Grouper.

    Je te conseille de déjà faire cela manuellement et une fois ton TCD au point tu pourras automatiser sa construction.

    Pour la BD tu travailles sur quoi ? Access, Oracle ?

    Dans Access une vue est une requête, dans la plupart des autres SGBDR c'est une vue créée avec le code SQL CREATE VIEW...

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2010
    Messages : 142
    Par défaut
    Re;

    Pour les vues, c'est exactement ça mon probleme, ayant eu une longue formation sur les SGBD comme Oracle, pour moi une vue doit se créer avec du code et geré à l'aide de Pl/SQL ...
    Or; la je travail qu'avec une base de Données access :s . . .

    Je fais les jeux de test pour le TCD et je vous dis ce qu'il en ai.

    Merci

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    Plutôt que le faire par vba tu peux utiliser microsoft query, et te servir des la boîtes de dialogue connexion pour exporter le fichier odc correspondant à cette connexion. Par contre le compte utilisé dans odc sera en clair, du coup cerains préfèrent utiliser VBA et protéger le projet VBA.

    Le gros avantage d'odc est sa simplicité d'utilisation. Un simple double clic depuis l'explorateur l'ouvre dans Excel et réalise la requête. On peut aussi bâtir des tcd depuis des odc directement.

    Pour ta base access tu pourras exécuter dessus du sql ou simplement appeler une requête stockée dans ton access.

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

Discussions similaires

  1. création TCD source AS400 récupérée par SQL
    Par NATOU2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/11/2008, 10h42
  2. TCD et champs expression sql
    Par gg2vig dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 10/12/2007, 17h01

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