Contrôles et expressions Windows

 

Introduction

L'interaction entre une personne et  un ordinateur est en général réalisée grâce à l'utilisant des contrôles Windows, ces objets contiennent ou présentent diverses informations que la personne peut utiliser. Par conséquent, les contrôles Windows sont fortement impliquées dans les expressions. Les expressions que nous avons utilisées jusqu'ici étaient assez franches et n'ont pas eu besoin de n'importe quel algorithme complexe pour accomplir leur but. Malheureusement, comme réalisateur des bases de données, vous ferez face à divers scénarios, certains d'entre eux étant très compliqués et même très difficiles voire impossible à résoudre. Vous vous servirez de deux principaux moyens pour résoudre ce genre d'expressions. D'abord, vous devrez savoir ce qui est disponible, ainsi vous pouvez sagement jouer avec Microsoft Access. En second lieu, vous vous servirez de votre capacité de réflexion pour traiter l'information.

 

Le texte basé sur les contrôles

Une chaîne de caractères est un espace vide, un caractère, ou un groupe de caractères. Puisque le caractère ou le groupe de caractères qui constituent la chaîne de caractères est considéré « comme il est », une chaîne de caractères doit être mise entre guillemets toutes les fois qu'elle est impliquée dans n'importe quelle expression. Les exemples de chaîne sont " g ", " Gabriel ", le " Congo ". En réalité, ces exemples de chaîne de caractères sont désignés sous le nom de valeurs. La valeur d'une chaîne de caractères est habituellement stockée dans un champ. Par exemple, les prénoms des employés, tels que " Pierre ", " Harvey ", " Charles ", " Hermine ", peuvent être stockés dans un champ appelé FirstName (Prénom). La capacité de stocker une catégorie de chaîne de caractères dans une zone d'identification permet à un tel champ d'être utilisé dans une expression qui produirait alors un résultat standard pour tous les enregistrements impliqués dans ce champ. Basé sur ceci, vous pouvez utiliser les opérateurs sur les noms des champs au lieu de les utiliser sur les valeurs de ces champs.

L'opération la plus classique que vous effectuerez sur les chaîne de caractères consiste à additionner des chaîne de caractères telles qu'un prénom et un nom afin de produire une nouvelle chaîne de caractères qui pourrait représenter Nom et Prénoms. Additionner deux chaîne de caractères est également appeler enchaîner des chaîne de caractères.

Pour enchaîner deux chaîne de caractères ou plus, vous pouvez utiliser l'opérateur Addition « + ». Un exemple serait FirstName + LastName. Ceci produirait une chaîne de caractères comme FirstNameLastName. Au lieu de faire attacher le prénom et le nom, vous pourrez devoir inclure un espace vide entre eux. Pour cette raison, vous pouvez additionner trois chaîne de caractères telles que FirstName + " " + LastName pour obtenir une nouvelle chaîne de caractères.

Bien que vous puissiez utiliser l'opérateur Addition sur les chaînes de caractères, vous pourriez commencer à penser que d'autres opérations algébriques peut être utilisée sur les chaînes de caractères; pas du tout. L'opérateur d'addition a été particulièrement conçu (dans la programmation par ordinateur, nous disons qu'il a été overloaded (surchargé)) pour être appliqué aux chaînes de caractères. Aucune autre opération arithmétique (soustraction, multiplication, division, et le reste) ne peut être appliquée aux chaînes de caractères. Pour cette raison, Microsoft Access (et le langage (Visual) Basic ) fournit un opérateur alternatif et approprié pour additionner des chaînes de caractères.

En plus, ou au lieu de l'opérateur Addition, vous pouvez également additionner des chaînes de caractères en utilisant l'opérateur & (appelé esperluète). Pour additionner deux chaînes de caractères ou champs appelés FirstName et LastName, vous pouvez utiliser l'opérateur d'enchaînement tel que FirstName & LastName. Comme l'opérateur d'addition, cette opération appose la deuxième chaîne de caractères à la fin ou à la droite de la première. Pour produire une chaîne de caractères plus lisible, vous pouvez ajouter une chaîne de caractères vide au milieu. L'opération deviendrait FirstName & « » & LastName.

Étude pratique : Enchaîner des chaînes de caractères

  1. Ouvrez la base de données Danilo Pizza1 et cliquez Tables.
  2. Double-cliquez la table CustomersOrder pour l'ouvrir en Mode feuille de données.
  3. Après avoir visionné la table, la muter en Mode création.
  4. Droit-cliquez OrderDate et cliquez Insertion des Lignes. Dans le nouveau champ vide, tapez Cashier et pressez Tab. Dactylographiez L et appuyer F6. Dans la première page de l'assistant, s'assurer que le premier bouton station est sélectionné et cliquez suivant. Dans la deuxième page, cliquez Employees et cliquer suivant. Dans la liste Champs disponibles, double-cliquez LastName. Cliquez suivant et cliquez Terminer.
  5. Dans la section inférieure de la table, supprimez la valeur par défaut et cliquez Liste de choix.
  6. Cliquer Contenu et cliquer son bouton points de suspension.
  7. Changez LastName dans la deuxième colonne en LastName & " , " & FirstName et appuyez Entrer.
  8. Pour visionner préalablement, sur la barre d'outils en Mode création des requêtes, cliquez le bouton Exécuter.
  9. Après avoir regardé la requête, la muter de nouveau en Mode création. Dans le nouveau champ, remplacer Expr1 par Cashier et dans le champ Sort de la même colonne, sélectionnez Croissant :
     
  10. Fermez la fenêtre de l'énoncé SQL. Une fois demandé si vous voulez sauvegarder, cliquer oui.
  11. Sauvegardez la table et le muter de nouveau en Mode feuille de données. Cliquez la flèche de Processed By dans les boîtes bascule et notez que chaque employé est représenté par un Last et un First Name.
  12. Fermez la table.
  13. Ouvrez la base de données College Park Auto Shop2 et cliquez Formulaires.
  14. Double-cliquez le formulaire WorkOrders pour l'ouvrir. Cliquer la flèche de la boîte bascule Processed By. Notez que chaque nom des employés est défini seulement en utilisant le nom.
     
  15. Mutez le formulaire en Mode création et double-cliquez la boîte bascule EmployeeID.
  16. Dans la fenêtre des propriétés, cliquez l'étiquette Toutes et cliquez Contenu. Cliquer alors le bouton points de suspension du champ pour ouvrir son énoncé SQL.
  17. Dans la section inférieure de la fenêtre des requêtes, changez LastName pour afficher :
    IIf(IsNull([MiddleName]),[LastName] & ", " & 
    [FirstName],[LastName] & ", " & [FirstName] & " " & [MiddleName])
  18. Visionnez la requête et la muter préalablement de nouveau en Mode création. Dans la deuxième colonne, changer Expr1 en Employee et définssez le champ  Sort à Croissant pour la même colonne.
     
  19. Fermer la fenêtre de lénoncé SQL. Une fois demandé si vous voulez la sauvegarder, cliquer oui.
  20. Toujours dans la fenêtre des propriétés de  l'étiquette Toutes, changer la valeur de largeur de la colonne 0 " ; 1.4 " ; 1.25 ".
  21. Changez la valeur de la largeur de la liste en 2.65.
  22. Mutez le formulaire en Mode formulaire et cliquez la flèche de la  boîte bascule Processed By.
     
  23. Sauvegardez et fermez le formulaire.
 

Boutons de commande

Les boutons de commande, ou simplement appelés les boutons, sont les objets les plus couramment utilisés pour lancer des actions sur une application. Entre autres, ils sont utilisés pour fermer les fenêtres, pour ouvrir d'autres, pour valider le choix d'un utilisateur, pour présenter les solutions de rechange, etc. En présentant les commandes Windows, nous pensons que la manière la plus facile de créer un bouton consiste à utiliser l'assistant des boutons de commande. En effet, en utilisant cette technique, il y a beaucoup de codes que Microsoft Access écrit pour appliquer la fonctionnalité désirée. Les lignes du code que Microsoft Access écrit ont été déjà préparées et ont été installées avec lui dans certaines bibliothèques appelées DLL. Dans certains cas, Microsoft Access n'est pas préparé à écrire la fonctionnalité exacte dont vous avez besoin et il peut écrire seulement une partie du code. Pour cette raison, il vous reviendra simplement de modifier le code écrit par Microsoft Access ou, si vous connaissez comment procéder autrement, vous pouvez simplement écrire votre propre code.

Imaginez que, dans la base de données Bethesda Car Rental, un commis en traitant une commande, a choisi une voiture. Le client peut arriver et poser plusieurs questions sur cette voiture. En créant des sous formulaires, nous avons appris qu'un sous formulaire efficace inclut seulement une liste réduite des champs qui auraient une valeur dans le formulaire mère. Vous pouvez alors permettre à l'utilisateur d'ouvrir le formulaire principal qui contient plus d'informations que le sous formulaire mais vous devrez vous assurer que seulement ces informations sont disponibles à l'utilisateur.

Étude pratique : Utilisation des boutons de commande

  1. Ouvrir la base de données Bethesda Car Rental2 et cliquez Formulaires.
  2. Double-cliquez le formulaire OrderProcessing pour l'ouvrir.
  3. Après l'avoir visionné, le muter en Mode création.
  4. Dans la boîte à outils, s'assurer que le bouton Assistants de contrôle est cliqué Control Wizard
    Dans la boîte à outils, cliquez Bouton de commande Command Button et cliquez du côté droit de la boîte bascule CarID.
  5. Quand la première page de l'assistant des boutons de commandes s'affiche, dans la boîte de la liste Catégories, sélectionnez le formulaire Operations sur formulaire.
  6. Dans la liste Actions, sélectionner ouvrir un formulaire et cliquez suivant.
  7. Dans la deuxième page de l'assistant, cliquez Cars et cliquez suivant.
  8. Dans la troisième page de l'assistant, cliquez le premier bouton station : Ouvrir le formulaire et trouver les informations spécifiques à afficher et cliquez suivant.
  9. Dans la quatrième page, dans la boîte de la liste OrderProcessing, cliquez CarID. Dans la boîte de la liste Cars, cliquez CarID. Cliquer le bouton entre les deux listes.
     
  10. Cliquez suivant.
  11. Dans la boîte Texte, remplacez la chaîne de caractères par Car Details et cliquez suivant.
  12. Changez le nom du bouton en cmdCarDetails et cliquez Terminer.
  13. Redimensionnez et placez le bouton pour une meilleure disposition puis fermer le formulaire.
  14. Une fois demandé si vous voulez le sauvegarder, cliquez oui.

Boutons Options

Les boutons Options sont utilisés dans un groupe qui les rend particulier en se référant à eux. Si vous concevez vos boutons option d'une manière « normale », qui classiquement se fait en les incluant dans un groupe d'options, pour découvrir que le bouton option est sélectionné dans un groupe, vous pouvez appeler la propriété de la valeur du contrôle du groupe d'options. Le bouton de la première option a une valeur 1, celui de la seconde option a une valeur 2, etc.

Imaginez que vous voulez avoir fraGender appelé par le contrôle d'un groupe d'options qui a trois boutons stations et une boîte de texte appelée txtGender. Si vous voulez découvrir quel bouton station est sélectionné dans le groupe d'options et afficher sa valeur dans la boîte de texte, dans Source contrôle de la boîte de texte, vous pouvez dactylographier

=fraGender.Value

De la même manière, si vous avez les boutons stations dans une boîte d'un groupe d'options, vous pouvez utiliser la fonction IIf () pour découvrir quel bouton l'utilisateur aurait cliqué. Si vous avez seulement deux boutons option, ou si vous avez plus d'un bouton station et voulez considérer seulement deux possibilités, l'utilisation de la fonction IIf () conduirait facilement au résultat. Vous pouvez juste décider quel bouton option dans le groupe contiendrait la valeur nécessaire.

Le moteur de la base de données identifie que quand vous accédez à un bouton option qui fait partie d'un groupe, vous demandez réellement au contrôle des groupes (la boîte des groupes d'option étant en fait le « parent » des boutons stations  parce qu'elle « les porte ») pour découvrir quel bouton station a été sélectionné. En réalité, la propriété par défaut d'une boîte groupes d'options est une valeur. Par conséquent, dans vos expressions, vous pouvez omettre d'appeler la propriété valeur. Ceci signifie que quand vous écrivez Frame12 pour le nom d'une boîte de groupes, vous accédez en fait à la propriété valeur du contrôle. Basé sur ceci, la validation minimale que vous pouvez effectuer sur un groupe d'options est de faire quelque chose si le bouton option désiré est sélectionné. Vous pouvez aussi procéder autrement. Une telle validation peut être écrite avec la fonction IIf () comme suit

=IIf([fraGender]=1,"You are the man!","You go girl!!!")

Si vous voulez diriger un groupe de boutons stations et valider chacun, vous devrez inclure les fonctions IIf () à l'intérieur des autres. Ceci est appelé emboîtement. Imaginez qu'en traitant les commandes d'une application de pizza, vous vouliez indiquer le prix d'une pizza basée sur la taille sélectionnée et il y a trois tailles. Une fonction simple IIf () ne suffirait pas. Si l'utilisateur choisit la pizza de petite taille, vous appliquerez le prix d'une petite pizza. Dans une fonction simple IIf(), si l'utilisateur choisit une autre taille, vous aurez un autre prix encore. Dans une boîte de texte qui contient les prix selon la taille choisie, vous pourriez écrire une expression comme :

=IIf(fraPizzaSize=1, PriceSmall, PriceMedium)

Qu'est-ce qui se passerait si l'utilisateur choisit une pizza de grande taille ? La seule solution est d'appliquer une autre fonction IIf () et de l'inclure comme partie fausse de la condition. Le pseudo code que vous pourriez utiliser est

If Small Size is selected Then
    Apply Small Price
Otherwise
    If Medium Size is selected Then
        Apply Medium Price
    Otherwise
  	Apply Large Price
    End If
End If

Étude pratique : Utilisation des boutons Stations

  1. Ouvrez la base de données Danilo Pizza1 et cliquez Formulaires dans la fenêtre de la base de données.
  2. Double-cliquez le formulaire OrderProcessing pour l'ouvrir.
  3. Après l'avoir visionné, le muter en Mode création.
  4. Dans le formulaire, cliquez la boîte de texte à la droite de Total Price pour la sélectionner.
  5. Dans la fenêtre des propriétés, cliquez l'étiquette Toutes et cliquez le champ Source contrôle.
  6. Cliquez le bouton points de suspension pour appeler la zone de dialogue du Générateur d'expression.
  7. Dans la liste gauche, double-cliquez Fonctions et cliquez Fonctions intégrées .
  8. Dans la liste du milieu, rouler vers le bas et cliquez Déroulement programme. Dans la liste de droite, double-cliquer IIf. 
  9. Dans la boîte de textes supérieure, cliquer <<expr>> pour le sélectionner.
  10. Dans la liste gauche, cliquez OrderProcessing. 
  11. Dans la liste du milieu, double-cliquez fraPizzaSize. 
  12. Dactylographier =1. 
  13. Dans la boîte de texte supérieure, cliquez <<truepart>>. 
  14. Dans la liste du milieu, double-cliquez PriceSmall. 
  15. Dans la boîte de texte supérieure, cliquez <<falsepart>>. 
  16. Dans la liste gauche, cliquez Fonctions intégrées. Dans la liste du milieu, cliquez Déroulement programme. Dans la liste de droite, recherchez et double-cliquez IIf. 
  17. Dans la boîte de texte supérieure, cliquez <<expr>>. 
  18. Dans la liste de gauche, cliquez OrderProcessing. 
  19. Dans la liste du milieu, double-cliquez fraPizzaSize. 
  20. Dactylographiez =2. 
  21. Dans la boîte de texte supérieure, cliquez <<truepart>>. 
  22. Dans la liste du milieu, double-cliquez PriceMedium. 
  23. Dans la boîte de texte supérieure, cliquez <<falsepart>>.
  24. Dans la liste du milieu, double-cliquez PriceLarge.
     
  25. Cliquez OK.
  26. Sur la fenêtre des propriétés, définissez le format à Monétaire et les positions décimales à 2.
  27. Muter le formulaire en Mode formulaire.
  28. Dans le formulaire, cliquez les différents boutons option et notez que le prix de la pizza change selon le bouton station sélectionné.
  29. Mutez le formulaire de nouveau en Mode création.
  30. Nous rendrons invisible la boîte de texte que nous avons ajoutée parce que l'utilisateur n'aura pas besoin d'y avoir accès.
    Dans le formulaire, cliquez la boîte de texte txtPizzaPrice qui a été juste ajoutée.
  31. Dans la fenêtre des propriétés, cliquez l'étiquette format et définissez la propriété Visible à Non.
  32. Sauvegardez et fermez le formulaire.

Les boutons à bascule

Nous avons défini un bouton bascule comme variante d'un bouton station ou d'une boîte de contrôle. Quand les boutons bascule viennent comme groupe et sont traités en tant que groupe, ils se comportent comme les boutons station. Quand un bouton bascule est créé en même temps que son propre bouton, il se comporte comme une boîte de contrôle. Pour créer les boutons bascule qui se comporteraient comme les boutons station, vous devrez utiliser le contrôle groupes d'options. Autrement, pour créer un bouton bascule qui se comporte comme une boîte de contrôle, vous pouvez utiliser le contrôle Boutons bascule dans la boîte à outils.

Après avoir créé un bouton bascule, vous pouvez mettre en application sa fonctionnalité. Comme indiqué déjà, un bouton bascule est le tout premier bouton. Par conséquent, quand il est cliqué, il envoie un message déclarant qu'il a été cliqué. Vous pouvez alors prendre la mesure nécessaire. Quand un bouton bascule fait partie d'un groupe créé dans un contrôle groupe d'options, l'hébergeur (le contrôle groupes d'option) peut être utilisé pour prendre soin de l'action. Pour faire ceci, chaque bouton bascule est représenté par la propriété valeur d'option. Par conséquent, en mettant en application le groupe d'options, pour connaître quel bouton a été cliqué dans le groupe, vous pouvez utiliser une fonction logique comme IIf (ou un énoncé conditionnel comme si… Else) pour vérifier la valeur du bouton cliqué. Une fois que vous connaissez quel bouton a été cliqué, vous pouvez faire ce que vous voulez.

Étude pratique : Configuration des boutons bascule

  1. Ouvrir la base de données Bethesda Car Rental2 et cliquez Formulaires dans la fenêtre de la base de données.
  2. Double-cliquez le formulaire Customers2 pour l'ouvrir.
  3. Après l' avoir visionné, le muter en Mode création.
  4. Faites défiler vers le bas pour afficher la section Pied du formulaire.
    Dans la boîte à outils, s'assurer que bouton Assistants contrôle est cliqué.
    Dans la boîte à outils, cliquer le bouton Groupe d'options et cliquez quelque part sous la barre de pied de formulaire.
  5. Dans la première page de l'assistant groupes d'options, sous Noms d'étiquette , tapez contact et appuyer la touche de déplacement bas du curseur.
  6. Dactylographiez Driving Information et appuyer la touche de déplacement bas du curseur.
  7. Dactylographiez notes/commentaires et appuyez Entrer.
     
  8. Cliquez suivant.
  9. Dans la deuxième page de l'assistant, acceptez d'avoir Contact comme choix par défaut et cliquez suivant.
  10. Dans la troisième page, acceptez les valeurs suggérées et cliquez suivant.
  11. Dans la quatrième page, s'assurer que le bouton Conserver la valeur pour usage ultérieur et cliquez suivant.
  12. Dans la cinquième page, cliquez Boutons bascule et accepter le style Echelonné.
     
  13. Cliquez suivant.
  14. Dans la sixième page de l'assistant, acceptez la légende suggérée et cliquer Terminer.
  15. Etant toujours en Mode création, cliquez l'étiquette qui a été ajoutée et appuyez Supprimer pour l'enlever. Se déplacer et redimensionner les contrôles pour les remodeler comme suit :
     
  16. Pour ajouter un bouton pour fermer le formulaire, dans la boîte à outils, cliquez Bouton de commande et cliquez à la droite du bouton Notes/Comments  dans la section inférieure du pied de formulaire.et à l'intérieur du groupe de contrôles
  17. Quand la première page de l'assistant boutons de commande s'affiche, dans la liste Catégories, cliquez le formulaire Opérations. Dans la liste Actions, cliquez Fermer  formulaire et cliquez suivant. Dans la deuxième page, dans la boîte de texte, Supprimer formulaire pour avoir seulement Fermer et cliquez suivant. Dans la page suivante, changez le nom en cmdClose et cliquez terminer.
  18. Redimensionnez  le bouton pour occuper le secteur du côté droit du groupe de contrôles
     
  19. Double-cliquez la bordure du groupe de contrôle. Dans la fenêtre des propriétés, cliquez l'étiquette  Toute et changez les deux propriétés suivantes :
    Nom : fraSections
    Style de bordure : Transparent
  20. Sauvegardez le formulaire.

Boîtes de contrôle

Une boîte de contrôle peut avoir seulement deux états : sélectionnée ou non sélectionnée. (Dans la plupart des environnements de programmation, un contrôle peut réellement avoir trois états, selon la façon dont il a été créé. Le troisième état apparaîtrait comme vérifié à « moitié », il est également désigné sous le nom de gris ou indéterminé. Pour nos bases de données ici, nous considérerons qu'une boîte de contrôle peut seulement être cliquée(sélectionnée) ou non cliquée.

Quand une boîte de contrôle est sélectionnée, elle a une valeur Vrai, oui, On, ou 1. Quand elle n'est pas cliquée, elle a une valeur faux, Non, ou 0. Cette valeur peut être utilisée comme vous désirez. A titre d'exemple, alors que seulement un bouton d'option peut être sélectionné dans une boîte de groupe, autant de boîtes de contrôle peuvent être sélectionnées dans un groupe selon les besoins. En fait, vous ne devez pas inclure vos boîtes de contrôle dans un groupe.

Vous pouvez utiliser la fonction IIf () pour faire quelque chose si une boîte de contrôle est sélectionnée ou faire autre chose si la même boîte de contrôle n'est pas sélectionnée. Vous pouvez utiliser la fonction IIf () comme suit :

=IIf([chkMaritalStatus],"Welcome to the club","We can't allow you")
 

Étude pratique : Utilisation des boîtes de contrôle dans les expressions

  1. Ouvrez l'application Danilo Pizza1. Cliquez Formulaires, droit-cliquez le formulaire OrderProcessing et cliquez Mode création.
  2. Dans la boîte à outils, cliquer le contrôle Zone de texte et cliquez le secteur sous l'étiquette Olives.
  3. Changez la légende de son étiquette en Number.
  4. Changez le nom de la zone de texte en txtToppings.
  5. Traînez PriceTopping de la liste des champs à  gauche du groupe .
  6. Changez la légende de son étiquette en Each.
  7. Concevoir le reste du formulaire comme suit :
     
  8. Compter le nombre de boîtes de contrôle qui sont sélectionnées, c'est-à-dire, obtenir le nombre de Toppings, définissez  Source contrôle de la zone de texte txtToppings à
    =Abs (([pepperoni] + [saucisse] + [ExtraCheese] + [oignons] + [olives])).
  9. Pour calculez le montant produit par le nombre de Toppings sélectionné, dans la boîte à outils, cliquez  Zone de texte et cliquez un secteur vide dans le formulaire (n'importe où ça peut être bien tant que vous pouvez voir, puisque ça sera un champ provisoire).
  10. définissez Source contrôle à
    *Nz de =Abs ([pepperoni] + [saucisse] + [ExtraCheese] + [oignons] + [olives]) ([PriceTopping])
  11. Mutez le formulaire en Mode formulaire pour voir le résultat. Alors mutez le formulaire de nouveau en Mode création et supprimer le texte que nous avons juste ajouté.
  12. Dans le formulaire, cliquez la zone de texte du côté droit de Total Order.
  13. Dans Source contrôle, introduire au clavier la formule suivante (cette formule apparaît longue mais elle contient seulement les fonctions que nous avons utilisées jusqu'ici) :
    =CDbl(IIf([fraPizzaSize]=1,[PriceSmall],IIf([fraPizzaSize]=2,
    [PriceMedium],[PriceLarge])))+CDbl([txtBreadSticks])+CDbl([txtBuffaloWings])+
    (Abs([Pepperoni]+[Sausage]+[ExtraCheese]+[Onions]+[Olives])*[PriceTopping])+
    CDbl([txtSodaCan])+CDbl([txtSoda20Oz])+CDbl([txtSoda2L])+CDbl([txtOJ])+
    CDbl([txtWater])
  14. Visionnez le formulaire et exécutez préalablement quelques commandes :
     
  15. Sauvegardez et fermez le formulaire.

Boîtes bascule ou Zone de liste déroulante

Nous avons appris à utiliser ou créer un champ dont les données sont disponibles grâce à une Zone de liste déroulante. Nous savons également qu'une zone de liste déroulante peut être faite de plus d'un champ de données. Dans ce cas, les données sont organisées dans les colonnes quand la zone de liste déroulante est malléable. Malheureusement, une zone de liste déroulante peut afficher seulement un champ de données quand elle n'est pas dilatée. Si vous voulez qu'une zone de liste déroulante affiche plus d'un champ, vous pouvez créer une expression qui combine les champs de la table de départ.

Étude pratique : Concevoir une fiche de présence

  1. Ouvrez la base de données Bethesda Car Rental1.
  2. Sur la fenêtre de la base de données, cliquez Tables et cliquez le bouton Nouveau.
  3. Dans la nouvelle zone de dialogue de la table, cliquez Mode création et cliquez OK.
  4. Pour le nom du premier champ, tapez TimeSheetID et définissez son type de données à AutoNumber. faire en outre de lui une clé primaire.
  5.  Sur la barre d'outils en mode création des tables, cliquez le bouton sauvegarder la table.
  6. Dactylographiez TimeSheet et cliquez OK. 
  7. Placer le nom du deuxième champ comme EmployeeID et définissez son type de données à Numérique. 
  8. Placer le nom du troisième champ comme DateSigned et définissez son type de données à Date/Heure. 
  9. Placer le nom du champ suivant comme MondayIn et pour son type de données, sélectionnez Assistant liste… 
  10. Quand la première page de la zone de dialogue de l'assistant liste s'affiche, cliquez le deuxième bouton station et cliquez suivant.
  11. Sous Col1, dactylographiez 00:00 AM et appuyer la touche de déplacement bas du curseur.
  12. Dactylographiez 00:30 AM et appuyez la touche de déplacement bas du curseur.
  13. complétez avec les autres valeurs de sorte que quand vous finissez, la liste inclue 00:00 AM, 00:30 AM, 01:00 AM, 01:30 AM, 02:00 AM, 02:30 AM, 03:00 AM, 03:30 AM, 04:00 AM, 04:30 AM, 05:00 AM, 05:30 AM, 06:00 AM, 06:30 AM, 07:00 AM, 07:30 AM, 08:00 AM, 08:30 AM, 09:00 AM, 09:30 AM, 10:00 AM, 10:30 AM, 11:00 AM, 11:30 AM, 12:00 P.M., 12:30 P.M., 01:00 P.M., 01:30 P.M., 02:00 P.M., 02:30 P.M., 03:00 P.M., 03:30 P.M., 04:00 P.M., 04:30 P.M., 05:00 P.M., 05:30 P.M., 06:00 P.M., 06:30 P.M., 07:00 P.M., 07:30 P.M., 08:00 P.M., 08:30 P.M., 09:00 P.M., 09:30 P.M., 10:00 P.M., 10:30 P.M., 11:00 P.M., 11:30 P.M.
  14. Cliquez suivant. 
  15. Acceptez le nom suggéré du champ et cliquez Terminer. 
  16. Dans la section inférieure de la table, cliquez la feuille des propriétés de liste.
  17. Fixez le champ limite de la liste à oui et cliquez Général.
  18. définissez la valeur par défaut à « 12 : 00 P.M. ».
  19. Dans la section supérieure de la table, droit-cliquez la boîte grise du côté gauche de MondayIn et cliquez Copier. 
  20. Droit-cliquez le premier champ vide sous MondayIn et cliquez Coller.
  21. Changer le nom du nouveau champ en MondayOut.
  22. Continuez de Coller dans les noms des champs vides et de changer leurs noms de sorte que quand vous finissez, vous ayez une fiche de présence complète.
  23. Placer le nom du dernier champ à Notes et définissez son type de données à Mémo.
     
  24. Sauvegardez et mutez la table en mode feuille de données pour le visionner préalablement.
  25. Fermez la table.
  26. Pour commencer un nouveau formulaire, sur la barre de menu, cliquez Insertion - > Formulaire.
  27. Dans la zone de dialogue Nouveau formulaire, cliquez Mode création. Dans la boîte bascule, sélectionnez TimeSheet et cliquez OK.
  28. Sauvegardez le formulaire comme TimeSheet. 
  29. Dans la boîte à outils, s'assurer que le bouton Assistants contrôle est cliqué . Cliquez Zone de liste déroulante et cliquez sur le formulaire.
  30. Quand la première page de l'assistant s'affiche, s'assurer que le premier bouton station est sélectionné et cliquez suivant.
  31. Dans la liste Tables et Requêtes, cliquez Employees et cliquez suivant.
  32. Dans la boîte de la liste Champs disponibles, double-cliquez EmployeeNumber, FirstName, et LastName. 
  33. Cliquez suivant. 
  34. S'assurer que la boîte de contrôle de la colonne  clé cachée est vérifiée et cliquez suivant. 
  35. Cliquez la flèche de la zone de liste déroulante et sélectionnez EmployeeID. 
  36. Cliquez suivant et cliquez Terminer. 
  37. Changez le nom de la boîte bascule en cboEmployeeID.
  38. Dans la boîte à outils, cliquez Zone de texte et cliquez sur le formulaire
  39. Changez Source contrôle de la zone de texte indépendant en
    =[cboEmployeeID].[Column](3) & ", " & [cboEmployeeID].[Column](2) 
  40. Concevoir le formulaire comme suit :
     
  41. Changez respectivement les noms des zones de texte sous Total de haut en bas en txtMonday, txtTuesday, txtWednesday, txtThursday, txtFriday, txtSaturday, txtSunday, et txtWeeklyTotal.
  42. Sauvegardez et visionnez le formulaire. Mutez de nouveau en Mode création.

Saut de page

Nous avons vu qu'un formulaire peut être segmenté en différentes sections pour ménager de l'espace. Ceci vous permet d'afficher seulement un groupe de contrôles à la fois tout en maintenant toujours tous les contrôles d'une grande table dans le même formulaire. Nous avons également mentionné que, en utilisant cette technique, vous devrez vous assurer que l'utilisateur pourra accéder aux contrôles cachées en cas de nécessité. Une solution consiste à utiliser les barres de déplacement. Si vous décidez de cacher les barres de déplacement, vous pouvez utiliser une autre technique pour parvenir aux autres groupes de contrôles. 

Étude pratique : Configuration des sauts de page

  1. La base de données Bethesda Car Rental2 devrait encore être ouverte avec le formulaire Customers2 en mode création.
    Sur la barre d'outils du projet de formulaire, cliquez le bouton code. 
  2. Dans la boîte bascule Objet, sélectionnez fraSections.
  3. Dans la boîte bascule Procédés, cliquez Cliquer. (Click)
     
  4. Mettez en application l'événement comme suit :
     
    Private Sub fraSections_Click()
        If [fraSections] = 1 Then GoToPage 1
        If [fraSections] = 2 Then GoToPage 2
        If [fraSections] = 3 Then GoToPage 3
    End Sub
     
  5. Si vous utilisez MS Access 97, fermez la fenêtre qui contient le code. Dans d'autres versions, fermez Microsoft Visual Basic.
  6. Mutez le formulaire en Mode formulaire et cliquez les boutons Contact, Driving Information, et Notes/Comments.
     
  7. Pour fermer le formulaire, cliquez son bouton inférieur: Fermer. Une fois demandé si vous voulez sauvegarder, cliquez oui.

Sous formulaires et Sous états

Tout ce qui est indiqué ici pour un sous formulaire s'applique également à un état et à un sous état.
Un sous formulaire est une valeur dont la capacité permet d'accueillir ses propres champs qui n'appartiennent pas au formulaire dans lequel il est inclus. En plus  de ce dispositif, il est également possible de créer une expression dans un sous formulaire et transférer simplement le résultat de ce calcul au formulaire qui accueille le sous formulaire. En outre, si un exemple implique une grande valeur de tous les enregistrements dans un sous formulaire, la valeur qui en résulte peut être rendue disponible seulement dans un enregistrement du formulaire qui accueille. Il en est de même pour un état.

 

Résumé de la leçon

 

Matières de MOUS (Microsoft Office User Specialist)

S17 Utiliser la boîte à outils des contrôles pour ajouter des contrôles
S31 Créer un champ de calcul
 

Exercices 

 

Yugo National Bank

  1. Ouvrez Yugo National Bank.
    Ouvrez la table Customers en mode création et s'assurer que chaque article du champ EmployeeID affiche sa liste comme suit LastName, FirstName.
     

     
    Sauvegardez et fermez la table.
  2. Ouvrez le formulaire Customers en mode création. Supprimez la zone de liste déroulante EmployeeID et, dans la liste des champs, traîner le champ EmployeeID et le laisser tomber où l'autre était.
    Sauvegardez et fermez le formulaire Customers.
  3. Ouvrez le formulaire Customers et complétez les comptes avec l'information suivante :
     
    Created By Account Number Account Type
    Yuen, mat 28-3782-8 Checking
    Marconi, Catherine 92-3782-4 Checking
    La Hollande, Andy 38-4227-5 Checking
    Kast, Aaron 68-6434-5 Checking
    Yuen, mat 83-4654-7 Savings
    Kast, Aaron 47-4783-2 Checking
    Jeunes, Sylvie 82-3763-2 Checking
    Marconi, Catherine 72-3474-2 Checking
    La Hollande, Andy 34-5458-4 Checking
    Yuen, mat 29-4586-4 Savings
    La Hollande, Andy 68-3465-8 Checking
    Marconi, Catherine 40-4658-6 Checking
    La Hollande, Andy 56-8468-5 Checking
    Marconi, Catherine 94-7785-3 Savings
    Kast, Aaron 37-5764-8 Checking
    Yuen, mat 34-9754-7 Checking
    La Hollande, Andy 72-9375-4 Checking
    Marconi, Catherine 37-5490-6 Checking
    Yuen, mat 20-3454-9 Savings
    La Hollande, Andy 76-5475-4 Checking
    Jeunes, Sylvie 27-3457-4 Checking


    Fermez le formulaire

  4. Ouvrez le formulaire sbfTransactions en mode création.
    Ajouter une zone de texte à la section pied du formulaire. La nommer txtWithdrawals. La définir pour obtenir la somme de retraits.
    Ajouter une autre zone de texte appelée txtDeposits qui obtient la somme des dépôts.
    Ajouter une autre zone de texte appelée txtServiceCharges qui obtient la somme des frais administratifs.
    définissez le format de ces zones de texte à Monétaire et la positions décimales de l'affichage à 2.
     


    Réduire complètement les tailles de ces zones de texte et les placer juste sous la barre du pied de formulaire, puis les cacher à l'utilisateur.
    Sauvegardez et fermez le formulaire.
  5. Ouvrez le formulaire CustomersTransactions en mode création.
    Ajouter une zone de texte au-dessous du sous formulaire. La nommer txtTotalDeposits et lui faire afficher la valeur du contrôle txtDeposits à partir de sbfTransactions. En outre, définissez son format à Monétaire et sa positions décimales de l'affichage à 2.
    Ajoutez une autre zone de texte au-dessous du sous formulaire. La nommer  txtTotalWithdrawals et lui faire afficher la valeur du contrôle txtWithdrawals à partir de sbfTransactions. En outre, définissez son format à Monétaire et sa positions décimales de l'affichage à 2.
    Ajoutez une autre zone de texte au-dessous du sous formulaire. La nommer  txtTotalCharges et lui faire afficher la valeur du contrôle txtServiceCharges à partir de sbfTransactions. En outre, définissez son format à Monétaire et sa positions décimales de l'affichage à 2.
    Ajoutez une autre zone de texte au-dessous du sous formulaire. La nommer txtCurrentBalance. Lui faire soustraire la valeur de la zone de texte txtTotalWithdrawals de la valeur de la zone de texte txtTotalDeposits. En outre, définissez son format à  Monétaire et sa positions décimales de l'affichage à 2.
     

    Enregistrez et fermez le formulaire

Les prêts Watts

  • Ouvrez la base de données WAtts prêts .
    Ouvrez le formulaire sbfAccountTransactions en mode création. Ajoutez une zone de texte à la section Pied de formulaire. Définissez son nom à txtTransactions. Lui faire obtenir la somme des valeurs de TransactionAmount. Définissez son format à Monétaire et positions décimales à 2. Réduire sa taille et la cacher.
    Sauvegardez et fermez le formulaire.

Précédent Copyright © 2007, Yevol Suivant