-
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 :)
-
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.
-
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? ^^'
-
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...
-
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:ccool:
-
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.