• Aucun résultat trouvé

Créons plusieurs requêtes (en s'interdisant de faire du SQL) nommées respectivement

qryStocksEntrees, qryStocksSorties et qryStocks qui calcule les stocks (différence entre

vendus et achetés) du magasin et ce pour chaque article:

Nous allons voir qu'il va être nécessaire de faire une requête de requêtes pour arriver au résultat.

Nous construisons d'abord une requête qui résume les entrées:

7.22 Divers

Exercice: Dans la même base, créer une première requête qryQuiQuoi qui affiche dans une table, quel vendeur a vendu quoi et à qui (client) et une deuxième requête qryQuoiQui qui affiche quel client a acheté quoi avec l'aide de quel vendeur.

8 États-formulaires (complexes)

On peut imprimer les tables dans Access pour consultation et vérification. Cependant, il est peut être préférable avant d'envoyer à l'imprimante une table avec 10'000 enregistrements, de vérifier la façon dont l'impression va être effectuée.

Pour cela, avant d'imprimer quoi que ce soit, comme dans tout autre logiciel, il faut prendre l'habitude d'activer l'Aperçu avant impression et au besoin de définir ses propres propriétés d'impression qui sont peu nombreuses...

Par exemple, ouvrez la table Articles et activez l'aperçu avant impression et définissez une mise en page "paysage".

Cependant, on utilisera plus fréquemment les états pour effectuer une impression

professionnelle des données de la base. On verra plus tard comment personnaliser ses états avec tous les soins nécessaires.

Par exemple, sélectionnez la requête "Cible Fournisseurs" et créez en un état à l'aide de l'assistant (du type de celui visible à la page suivante). Vous enregistrerez cet état sous le nom

rptCibleFournisseurs.

Pour créer un état instantané, ouvrir une table et:

Evidemment, il faut rendre l'état accessible à l'utilisateur de votre base à partir d'un bouton se situant sur un formulaire si l'on veut bien faire les choses.

Maintenant que nous avons parcouru les principaux objets d'Access (Tables, filtres, requêtes, formulaires (sur requêtes et sur tables), états) vous pensez nécessairement qu'il est dommage que l'on doive passer à chaque fois par la fenêtre de base de données pour activer ces

derniers?!

Il n'est est rien! Au cours "avancé" (ou lors de la dernière demi-journée), nous verrons comment créer une belle interface utilisateur avec tous les boutons (il y a du code VBA derrière) nécessaire à une utilisation optimale de votre base. Il en sera de même pour le choix de l'ouverture automatique d'un des formulaires, lors de l'ouverture de la base.

Vous avez ci-dessous un état créé avec l'assistant qui groupe les articles de la table tblSorties par ordre alphabétique et qui indique les informations de sortie des articles (Vendeurs, Unités vendues, Type de payement, Date de sortie) et qui pour chaque article fait une synthèse des informations (Somme du nombre d'articles et pourcentage par rapport à la totalité).

Il existe également au besoin une option qui permet d'exporter les données représentées par l'état vers un fichier Word ou Excel. Le système de marche pas toujours comme on le souhaite et n'est pas toujours fonctionnel (dépendant de la façon avec laquelle le logiciel a été installé sur la machine et de la complexité de la base de données en question).

Comme exercice il vous est maintenant demandé de créer un état que vous nommerez

rptLettreType qui génère automatique une lettre type de bienvenue à chaque nouveau client

inscrit à notre système fidélité du magasin.

La lettre type (outre le logo que vous pouvez choisir) doit contenir les informations standards du client tel que l'expéditeur, l'adresse de son destinataire, les formules de politesses

Si par mégarde, la numérotation des pages des rapports est supprimée, il est toujours possible de la réinsérer à un endroit quelconque en allant dans le menu Insertion/Numéros de pages. Apparaît alors à l'écran l'option suivante:

Il suffit de choisir et de valider par OK.

8.1 Carnet d'adresse

Nous allons voir ici comment créer, toujours avec l'aide de l'assistant, un petit carnet d'adresse des vendeurs.

Lancez pour cela l'assistant de création de rapport en choisissant la table tlbVendeur:

ensuite, cliquez sur Options de regroupement en choisissez:

Validez enfin par Terminer et observez le résultat (dont l'esthétique est toujours discutable et demande un peu de travail de la part du développeur):

8.2 Synthèse et requête

Créez un état (rptSorties) basé sur une requête paramétrée qui affiche toutes les ventes de tous les vendeurs (les ventes doivent êtres groupées par vendeur et par date croissante) entre deux dates que l'utilisateur doit pouvoir choisir dans un formulaire.

Remarque: le design du formulaire n'est pas important (ce n'est pas un cours pour pigistes) Voici grosso modo la requête (nommée qryReport):

Voici le groupement souhaité pour le rapport:

Le type de mise en page:

Personnalisez cet état maintenant avec votre formateur (rajout de formules en pied et tête de page ainsi qu'en pied de rapport, mise en forme conditionnelle, DLookUp,…).

8.3 Sous-états

Nous allons dans cet exemple créer un étant avec des sous-états (ou sous-formulaires pour être plus exact). L'objectif sera d'avoir un rapport qui nous indique pour chaque article, une colonne avec les sorties et une colonne avec les entrées.

L'esthétique du résultat ne sera pas prise en compte car seule nous intéresse la technique et la possibilité offerte par MS Access (le formatage étant à ce niveau supposé maîtrisé).

Pour cet exemple, il va nous falloir dans un premier temps créer deux formulaires

respectivement pour les tables tblEntrees et tblSorties ayant le design et les noms visible dans les capture d'écran ci-dessous (à ce niveau du cours, créer ce genre de formulaires ne doit plus être un problème):

Nous aurons également besoin d'un rapport basé sur la table tblArticles et nommé rptArticles affichant simplement la chose suivante:

Maintenant, nous allons passer cet état en mode création et élargie la zone Détails:

Ensuite, dans la boîte à outils contrôles, nous cliquons sur le bouton Sous-formulaire/Sous-

état et nous traçons une zone d'une taille choisie au bolomètre pour commencer que nous pourrons toujours changer plus tard:

Apparaît alors l'assistant suivant dans lequel il vous est demandé pour l'exemple de sélectionner un des deux formulaires créés précédemment:

Cliquez sur Suivant et dans la fenêtre suivante ne touchez à rien. Cliquez simplement sur

Suivant (MS Access s'occupe de faire les liaisons qu'il faut tout seul comme un grand dans un

Cliquez sur suivant et saisissez ce qui convient:

Validez par Terminer. Faites de même avec le deuxième sous-formulaire de manière à obtenir quelque chose du genre (vous pouvez prendre l'incitative d'améliorer l'esthétique si le cœur vous en dit):

Le rapport donne alors (normalement on prendra soin de supprimer l'information à double dans le sous-formulaire affichant une deuxième fois le code de l'article bien évidemment):

Documents relatifs