![]() |
Fonctions Questionner-Basées |
|
Questions et fonctions intégrées |
|
Introduction |
|
Dans des leçons précédentes, nous avons vu que le Microsoft Access a été équipé d'une bibliothèque impressionnante des fonctions. Ces fonctions peuvent également être employées dans les questions et être même incluses dans des rapports de SQL. L'interprète de SQL du Microsoft Access peut identifier ces fonctions tant que vous les employez convenablement.
Il y a deux manières primaires que vous pouvez inclure une fonction dans une question. Si vous établissez visuellement la question dans la fenêtre choisie de question, vous pouvez écrire une expression qui inclut la fonction. Considérer la liste suivante d'employés :
|

|
Le rapport équivalent de SQL est : SELECT Employees.EmployeeID, IIf(IsNull([MiddleName]),[FirstName] & " " & _ [LastName],[FirstName] & " " & UCase(Left([MiddleName],1)) & _ " " & [LastName]) AS Employee FROM Employees; Ceci produirait :
De la même manière, vous pouvez employer des fonctions intégrées l'unes des que nous avons passées en revue dans la leçon 14.
Comme fait pour une table, des données peuvent être saisies dans une question. Avant de faire ceci, vous devez d'abord créer la question. Après avoir créé la question, la montrer dans la vue de Datasheet et écrire les valeurs dans les cellules. Seulement les colonnes qui viennent d'une table (ou d'une question existante) peuvent recevoir des valeurs. Une colonne qui a été créée d'une expression ne peut pas être éditée puisque le moteur de base de données prend soin de le mettre à jour employant les données saisies. Quand des données sont saisies dans une question, sa table originale est automatiquement mise à jour. Ceci signifie que vous pouvez créer de nouveaux disques destinés à une table mais à employer une question.
Sans compter que la diverse fonction intégrée de procédures le Microsoft Access et les bibliothèques de base visuelles de Microsoft, le SQL fournit une collection additionnelle de fonctions que vous pouvez employer pour effectuer de diverses opérations valables dans ce qui désigné sous le nom des questions de résumé. Une question de résumé est employée pour effectuer une opération commune sur les valeurs tenues par une question. Imaginer que vous créez une base de données pour des magasins de meubles où le travail des ventes que les gens sont évaluent basé sur le nombre, fréquence de ventes, ou ventes totales ils ont exécutées pendant une période d'ensemble telle qu'un jour, une semaine, un mois, un trimestre, un semestre, une année, etc. Une question régulière ne te permettrait pas d'obtenir facilement les totaux de leurs ventes. Au lieu de cela, vous pouvez créer une question de résumé pour effectuer facilement une telle opération.
Considérer la table suivante :
Il y a de diverses informations se reproduisantes dans diverses colonnes. Il y a également une colonne qui montre des valeurs monétaires. Ces différentes colonnes peuvent être employées pour exécuter l'analyse de base de données en groupant les valeurs des façons logiques. Cette question est employée pour créer des groupes de valeurs. Vous pouvez commencer le rapport de SQL avec CHOISI comme nous avons vu jusqu'ici. Voici un exemple : SELECT Videos.CopyrightYear FROM Videos; Cette question contiendrait seulement la colonne de CopyrightYear. En créant une question de résumé, vous devez considérer grouper les valeurs d'une certaine façon. Un groupe peut être fait de noms des colonnes ou être fait de résultats des fonctions ou des expressions. Vous devriez avoir une colonne qui serait employée comme référence. C'est la colonne sur laquelle le « résumé » serait exécuté. Indiquer cette colonne de raison, à la fin du rapport de SQL, précèdent son nom avec le GROUPE PAR expression. Voici un exemple : SELECT Videos.CopyrightYear FROM Videos GROUP BY Videos.CopyrightYear; Pour effectuer réellement les opérations nécessaires, une question emploie une série de fonctions désignées sous le nom de l'agrégat. Pour la rendre facile de créer ce type de question, vous pouvez employer ou le magicien de question ou dans la vue de conception. Pour créer une question de résumé en utilisant le magicien, commencer le magicien de question comme vous normalement. Dans la première page du magicien, vous devriez choisir les colonnes dont les valeurs suivent un modèle. De la table ci-dessus, imaginer que vous voulez obtenir une liste de videos par an mais au lieu de montrer tous les videos pour tous les ans, vous veulent savoir quelle quantité tous les ans de films vous coûte. Pour créer ce type de question en utilisant le magicien, vous pouvez commencer par double-cliquer créez la question en employant le magicien. Dans la première page du magicien, vous devriez choisir la colonne qui a une série de valeurs se reproduisantes. Dans ce cas-ci, ce seraient CopyrightYear et PriceBought :
Dans la deuxième page du magicien, vous seriez invités à indiquer si créer une question régulière ou de résumé. Si vous voulez créer une question de résumé, vous cliqueriez le bouton par radio de résumé et cliqueriez le bouton d'options de résumé :
Ceci ouvrirait la zone de dialogue d'options de résumé. De là, vous pouvez cliquer une ou plusieurs boîtes de contrôle :
Après avoir employé la zone de dialogue d'options de résumé, vous pouvez cliquer BIEN, continuer le magicien, lui donner un nom et montrer le résultat. Comme une question régulière, vous pouvez également modifier une question de résumé qui créait du magicien. Par exemple, vous pouvez placer un critère :
Ceci produirait :
Noter qui, dans la colonne d'année de ©, apparaît tous les ans seulement une fois. Le compte de la colonne de Videos montre le nombre de videos que notre table inclut pendant l'année correspondante. Pour placer une condition dans une question de résumé, vous précédez la condition avec AVOIR l'opérateur. Le rapport de SQL de cette question est : SELECT DISTINCTROW Videos.CopyrightYear, Sum(Videos.PriceBought) AS [Sum Of PriceBought], Count(*) AS [Count Of Videos] FROM Videos GROUP BY Videos.CopyrightYear HAVING (((Videos.CopyrightYear) Is Not Null)); Une des conditions du magicien simple de question est qu'il doit pouvoir identifier des valeurs se reproduisantes dans les colonnes que vous avez choisies. Même si vous choisissez une colonne avec des valeurs se reproduisantes, si vous choisissez seulement une colonne, la deuxième page du magicien ne te donnerait pas l'option pour créer une question de résumé. Une autre limitation est celle, dans la première page du magicien, après choix d'une colonne, de elle est enlevée de la liste disponible de champs. Ce qui si vous voulez employer une colonne deux fois dans votre question de résumé ? Le magicien ne permet pas ceci. En fait, c'est pourquoi nous avons choisi la colonne de PriceBought dans la question ci-dessus. Basé sur le résultat que nous avons voulu obtenir, notre question n'a pas eu besoin de elle. Même si vous choisissez plus d'une colonne, par exemple, si vous créez une question de notre table de Videos où vous choisissez le titre et le CopyrightYear, si le magicien n'identifie pas des modèles, la deuxième page du magicien ne vous donnera pas à l'option pour créer une question de résumé. Au lieu d'employer le magicien, vous pouvez créer une question de résumé dans la vue de conception. Comme mentionné ci-dessus, vous commencez une question de résumé comme une question régulière. Pour lui faire une question de résumé, vous pouvez cliquer les totaux vous boutonnez
Comme cité précédemment, par opposition au magicien simple de question, dans la vue de conception d'une question, vous peut ajouter une colonne plus d'une fois. Pour une question de résumé, si vous voulez employer seulement une colonne, par exemple pour compter les occurrences de ses valeurs, vous pouvez l'ajouter une deuxième fois. Dans toute la cellule correspondant à la colonne désirée, vous pouvez cliquer la flèche de la boîte combo et choisir l'option désirée :
Ceci produirait :
Noter que, cette fois, nous pouvons obtenir le nombre de videos par an de notre table de Videos. Le rapport de SQL de cette question est : SELECT Videos.CopyrightYear, Count(Videos.CopyrightYear) AS CountOfCopyrightYear FROM Videos GROUP BY Videos.CopyrightYear HAVING (((Videos.CopyrightYear) Is Not Null)); Pour effectuer ses diverses opérations, un résumé compte dans ce qui sont mentionnés comme des fonctions globales :
|
|
|
||
| Précédent | Copyright © Yevol, 2007 | Suivant |
|
|
||