Page d'Accueil

Question d'une Base de Données

 

Principes fondamentaux de questions

 

Introduction aux questions

Après avoir créé une table et l'avoir remplie de quelques valeurs, vous pouvez les explorer. L'one-way que vous pouvez faire ceci se compose isoler des disques basés sur des conditions spécifiques. Cette technique d'isoler des disques désigné également sous le nom filtrant. Pour filtrer des disques d'une table et montrer les résultats à l'utilisateur, vous avez de diverses solutions de rechange.

Le filtrage de données est effectué en utilisant le SQL et d'autres moyens fournis par le Microsoft Access. Pour filtrer des données, vous pouvez créer une question ou écrire un rapport de SQL.

 

Étude pratiqueÉtude pratique : Présentation des questions

  • Commencer le Microsoft Access et ouvrir la base de données de ROSH

Créer une nouvelle question

Pour créer une question dans le Microsoft Access, sur le menu principal, vous pouvez cliquer l'insertion - > question et choisir une option dans la nouvelle zone de dialogue de question. Alternativement, dans la fenêtre de base de données, vous pouvez d'abord cliquer le bouton de questions. Si vous cliquez nouveau sous la barre de titre de la fenêtre de base de données, la nouvelle zone de dialogue de question montrerait. Tandis que dans la section de questions de la fenêtre de base de données, vous pouvez également employer une de ses options pour procéder.

Après avoir créé une question car nous verrons dans différents exemples, vous pouvez ou seulement la regarder et écarter après l'analyse nécessaire, ou vous pouvez la sauver pour l'usage postérieur. En sauvant une question, vous devez lui donner un nom. Vous pouvez suivre les règles et les suggestions que nous nous sommes appliquées aux tables et aux formes jusqu'ici. En plus, en appelant une question, parce qu'elle peut être employée, car nous verrons plus tard, comme point d'émission de données pour une forme, évitent de lui donner le même nom comme table existante. Si vous essayez ceci, le Microsoft Access montrerait une erreur :

 

Programmatically créant une question

Pour créer programmatically une question en utilisant la bibliothèque de Microsoft Access ou DAO, vous pouvez employer la méthode de CreateQueryDef () d'objet de base de données. La syntaxe de cette méthode est :

CreateQueryDef(NewQueryName, SQLStatement)

Le premier argument est le nom que vous donnerez à la nouvelle question. Le deuxième argument est un rapport de SQL qui indique le contenu de la question.

Étude pratiqueÉtude pratique : Commencer une question

  1. Commencer le Microsoft Access et ouvrir la base de données de ROSH
  2. Dans la fenêtre de base de données, cliquer le bouton de formes
  3. Sur le menu principal, cliquer l'insertion - > question
  4. Dans la nouvelle zone de dialogue de question, cliquer le magicien simple de question et cliquer BIEN.
    Au besoin, dans la boîte combo de Tableaux/questions, Tableau choisi : StaffMembers

Données filtrant en utilisant la propriété record de source

Après avoir créé une question et l'avoir sauvée, vous pouvez l'employer comme source de données pour une forme. Pour faire ceci, vous pouvez visuellement l'indiquer dans la propriété record de source de la forme. Vous pouvez également assigner le nom d'une question, comme corde, à la propriété de RecordSource de la forme. Voici un exemple :

Private Sub cmdGetRecordset_Click()
    Me.RecordSource = "ListOfEmployees"
End Sub

Au lieu de créer d'abord une question, vous pouvez accéder à la propriété record de source de la forme et cliquer son bouton de points de suspension. Ceci vous inciterait à créer visuellement une question. Après l'avoir créé, vous pouvez fermer la fenêtre de question. Le Microsoft Access créerait le rapport nécessaire de SQL pour toi et l'assignerait à la propriété record de source de la forme.

Au lieu de créer visuellement une question, vous pouvez écrire un rapport de SQL qui choisit les disques et assignez ce rapport à la propriété de RecordSource de la forme en code.

Ouverture d'une question

Une fois une question a été créée et économisé, ce devient un objet de base de données comme les autres que nous avons employés jusqu'ici. Si une question existe déjà, pour l'employer, l'utilisateur peut l'ouvrir aiment une table. Pour faire ceci, dans la section de questions de la fenêtre de base de données, l'utilisateur peut double-cliquent la question ou droit-la cliquent et cliquent ouvert.

Pour ouvrir programmatically une question, vous pouvez appeler la méthode d'OpenQuery () d'objet de DoCmd. Cette méthode prend un argument de corde comme nom de la question. Voici un exemple :

Private Sub cmdOpenVideoTitles_Click()
    DoCmd.OpenQuery "VideoTitles"
End Sub

Fermeture une question

Après avoir employé une question, l'utilisateur peut la clôturer aiment une fenêtre régulière en cliquant son bouton de fin de système. Pour clôturer programmatically une question, vous pouvez appeler () la méthode étroite d'objet de DoCmd, passant le premier argument comme acQuery et le deuxième argument comme nom de la question. Voici un exemple :

Private Sub cmdCloseVideoTitles_Click()
    DoCmd.Close acQuery, "VideoTitles"
End Sub

Quand cette méthode s'appelle, elle vérifie si la question est ouverte. Si une question avec ce nom est ouverte, elle serait fermée. Si aucune question avec ce nom n'est ouverte, rien ne se produirait (Nice !).

Choix de données

 

Choix visuel de données pour une question

Le but principal du filtrage de données se compose choisir des disques. Comme vous savez déjà, des disques sont stockés dans les tables mais ils peuvent être identifiés par les colonnes d'une table. Par conséquent, avant de filtrer des disques, vous devez d'abord indiquer les colonnes qui seraient impliquées dans votre filtrage.

Si vous créez une question en utilisant le magicien, choisir d'abord une table (ou une question déjà créée) :

Simple Query Wizard

Après l'indication de la table (ou de la question) cette les prises les disques, pour choisir une colonne, dans les domaines disponibles liste, toi peuvent double-cliquent les colonnes désirées :

La technique de choisir les champs est identique appliquée en créant une table en utilisant le magicien de Tableau.

Si vous créez une question dans la vue de conception, quand vous êtes présentés avec la zone de dialogue de Tableau d'exposition, pour choisir une table, vous pouvez la cliquer et cliquer le bouton d'ajouter, ou vous pouvez double-cliquez la table :

Si vous avez déjà choisi une table et voulez la changer ou vouloir ajouter une table (ou la question), vous pouvez droit-cliquez la fenêtre choisie de question et le clic ajoutent le Tableau. Après l'indication de la table, pour choisir une colonne, vous pouvez la traîner de la table et la laisser tomber dans une colonne dans la section inférieure de la fenêtre :

Au lieu d'ajouter une colonne à la fois, vous pouvez choisir plus d'une colonne en utilisant le Ctrl ou les touches MAJ. et traînant le choix à une colonne dans la section inférieure de la fenêtre. Pour inclure toutes les colonnes dans une question, traîner * champ et le laisser tomber dans la section inférieure.

Étude pratiqueÉtude pratique : Choix des champs pour une question

  1. Dans les domaines témoin, double-cliquer FirstName, LastName, DateHired, salaire, IsMarried, et IsATeacher :
     
  2. Cliquer après. Si t'êtes demandés si vous voulez un détail ou une question de résumé, s'assurer que le bouton par radio de Detailt est choisi et clic après
  3. Changer le titre en StaffSocialInformation et cliquer la finition
  4. Tandis que la fenêtre de question est choisie et montrant, sur la question Datasheet toolbar, cliquer le nouvel objet : AutoForm pour produire d'une forme
  5. Fermer la forme
  6. Une fois demandé si vous voulez la sauver, cliquer oui
  7. Accepter le nom suggéré comme StaffSocialInformation et cliquer BIEN
  8. Clôturer la question
  9. Dans la section de formes de la fenêtre de base de données, droit-cliquer StaffSocialInformation et cliquer la vue de conception
  10. Dans la fenêtre de propriétés, noter que le nom de la question agit en tant que source record
  11. Fermer la forme

Choix de données en utilisant le SQL

Les données choisies dans le SQL se composent employer le mot-clé CHOISI. La formule primaire à suivre est :

SELECT What FROM WhatObject;
Author Note Comme indiqué déjà, le SQL n'est pas cas-sensible. Ceci signifie que CHOISI, choisi, et choisi représenter le même mot.

Quel facteur de notre syntaxe est le nom des colonnes d'une table. Le facteur de WhatObject peut être le nom d'une table (ou d'une vue).

Si vous (visuellement) créez une question, employant le magicien de question ou la vue de conception, le moteur de base de données prendrait soin de créer le rapport approprié de SQL pour toi. Après que sauver la question, pour regarder son rapport, ouvrent la question dans la vue de conception, droit-cliquent sa fenêtre, et cliquent la vue de SQL. Vous pouvez également accéder à l'option de vue de SQL du menu principal sous la vue.

Pour choisir tout à partir d'une table, vous pouvez employer l'astérisque comme gamme des valeurs. Par exemple, pour choisir tous les disques, vous aviez l'habitude le rapport comme suit :

SELECT * FROM Students;

Cet exemple choisirait tous les disques à partir d'une table appelée Students. Par opposition à choisir tous les disques, vous pouvez choisir une colonne particulière dont les champs vous voulez regarder. Pour faire ceci, vous pouvez remplacer quel facteur dans la syntaxe avec le nom de la colonne désirée. Voici un exemple :

SELECT LastName FROM Students;

Ce rapport choisirait seulement la colonne qui contient les derniers noms. Pour considérer plus d'une colonne dans un rapport, vous pouvez les énumérer dans quel facteur de notre syntaxe, les séparant avec une virgule excepté la dernière colonne. La syntaxe à employer est :

SELECT Column1, Column2, Column_n FROM WhatObject;

Comme exemple, pour choisir les noms, genre, et le téléphone à la maison des disques d'une table a appelé Students, vous le rapport suivant :

SELECT FirstName, LastName, Gender, HomePhone
FROM Students

Comme cité précédemment, pour créer programmatically une question, vous pouvez passer le rapport de SQL comme deuxième argument de la méthode de CreateQueryDef (). Voici un exemple qui emploie la bibliothèque de Microsoft Access :

Private Sub cmdCreateQuery_Click()
    Dim curDatabase As Object
    Dim qryEmployees As Object
    Dim strStatement As String

    ' Get a reference to the current database
    Set curDatabase = CurrentDb
    strStatement = "SELECT DateHired, FirstName, " & _
                   "LastName, Department FROM Employees;"
    ' Create a new query named EmployeesInfo
    Set qryEmployees = curDatabase.CreateQueryDef("EmployeesInfo", strStatement)
End Sub

Vous pouvez employer la même approche avec DAO.

Étude pratiqueÉtude pratique : Visionnement d'un rapport de SQL d'une question

  1. Dans la fenêtre de base de données, questions de clic
  2. Dans la section de questions, double-cliquer StaffSocialInformation
  3. Pour regarder son rapport de SQL, droit-cliquer sa barre de titre et cliquer la vue de SQL
     
  4. Pour la commuter à la vue de conception, droit-cliquer sa barre de titre et cliquer la conception de question
     
  5. Fermer la fenêtre choisie de question. Si demandé si vous voulez sauver le changement, cliquer le non

Choix de données pour une forme

Comme mentionné précédemment, après avoir créé et sauvé une question, vous pouvez l'employer un point d'émission de données pour une forme. Au lieu de créer principalement une question, vous pouvez l'un ou l'autre type un rapport de SQL dans la propriété record de source ou utiliser son bouton de points de suspension pour créer une question. Tout est fait comme vu ci-dessus.

Étude pratiqueÉtude pratique : Choix des données pour une forme

  1. Dans la fenêtre de base de données, les formes de clic et double-cliquent créent la forme dans la vue de conception
  2. Dans la fenêtre de propriétés, cliquer le champ record de source pour indiquer son bouton de points de suspension et pour cliquer ce bouton de points de suspension
  3. Dans la zone de dialogue de Tableau d'exposition, les étudiants de clic, clic ajoutent, et cliquent étroitement
  4. Dans la liste de champs, cliquer FirstName, serrer et tenir Ctrl
  5. Dans la liste de champs, cliquer LastName, ParentsNames, EmergencyName, et EmergencyPhone
  6. Libérer Ctrl
  7. Traîner un des articles et de la baisse choisis dans le premier domaine vide dans la section inférieure de la fenêtre :
  8. Fermer la fenêtre de constructeur de question
  9. Une fois demandé si vous voulez la sauver, cliquer oui
  10. Montrer la liste de champ de la forme et noter que sa barre de titre montre un rapport de SQL
  11. Noter en outre que la source record de forme est faite d'un rapport de SQL
     
  12. Économiser la forme comme StudentsContactInformation
  13. Traîner les champs de la liste de champ pour les laisser tomber sur la forme et pour les concevoir comme suit :
     
  14. Droit-cliquer la forme et cliquer l'en-tête bas de page de forme
  15. En utilisant le magicien de bouton de commande, ajouter un bouton appelé le cmdClose et marqué étroitement qui serait employé pour fermer la forme
     
  16. Économiser et fermer la forme

Analyse de données : Assortir des disques

 

Introduction

Une des mesures que vous pouvez prendre se compose réarranger la liste de disques dans un ordre autre que celui dans lequel ils ont été présentés. Par exemple, un utilisateur écrit la liste d'étudiants dans l'ordre qu'ils arrivent. En même temps l'utilisateur peut vouloir voir qu'une liste d'étudiants dans l'ordre alphabétique basé dessus ils durent des noms. Réarrangeant une liste de disques désigné sous le nom assortissant.

Le Microsoft Access fournit les moyens d'assortir des disques sur tous les objets de base de données, y compris des tables, questions, et formes. Pour assortir les disques d'une table, d'une question, ou d'une forme, vous pouvez droit-cliquez la colonne ou la commande qui montre ses valeurs et sorte de clic montant. Ceci assortirait les disques basés sur le champ que vous avez choisi. Quand une liste est assortie dans l'ordre croissant :

  • Si la liste est faite ou des valeurs numériques, la valeur la plus basse deviendrait la première, suivi de la seconde à la valeur la plus basse, et la valeur la plus élevée deviendrait durent. C'est le point de droit pour les valeurs dans un AutoNumber, un COMPTEUR, ou une colonne AUTOINCREMENT d'une table
  • Si la liste est faite de cordes (mots), l'alphabet serait employé. La corde dont la première lettre est la plus haute dans l'alphabet d'a, de b, de c, etc. serait la première. Dans ce cas-ci, l'ordre croissant est identique que l'ordre alphabétique. Par exemple, dans une liste faite de Paul, Walter, Anne, et John, dans cet ordre, une fois assortie dans l'ordre croissant, la liste irait bien à Anne, John, Paul, Walter. Si les diverses cordes dans la liste commencent par la même lettre, les cordes avec la même lettre commençante seraient groupées d'abord. Alors parmi les cordes avec la même lettre commençante, la deuxième lettre serait considérée et le même algorithme serait appliqué
  • Si la liste est faite de dates, la date la plus tôt deviendrait la première et la date la plus récente deviendrait durent
  • Si la liste est une combinaison des nombres et des cordes, les nombres seraient arrangés dans l'ordre par accroissement d'abord, suivi de la liste de cordes dans l'ordre alphabétique
  • Si la liste contient des valeurs vides, les valeurs vides seraient les premières, les autres valeurs seraient arrangées dans l'ordre selon leur type

Pour assortir les disques dans l'ordre d'inversion, vous pouvez droit-cliquez une colonne (table ou question) ou une commande (forme) et cliquez la descente de sorte. Après avoir assorti des disques, si vous voulez effectuer une autre opération, vous pouvez devoir remettre à zéro la liste à son arrangement original. Pour faire ceci, vous pouvez droit-cliquez l'objet et le clic enlèvent le filtre/sorte. Vous pouvez également accéder à ces trois options sur le menu principal sous des disques. Ils sont également disponibles sur le toolbar.

Après avoir assorti les disques, vous pouvez fermer l'objet mais te seriez demandés si vous voulez sauver l'arrangement. Si vous cliquez oui, l'objet serait sauvé avec le nouvel arrangement et vous pouvez le regarder la fois prochaine.

Si vous travaillez dans une question, pour inclure l'arrangement dans lui, ouvrir la question dans la vue de conception. Dans la section inférieure de la fenêtre, cliquer le champ croissant de la colonne désirée et choisir monter à partir de sa boîte combo. De la même manière, vous pouvez assortir le champ à l'envers l'ordre en choisissant l'option descendante.

Pour assortir programmatically des disques sur une table, une question, ou une forme, etc., appellent sa méthode d'OrderBy () et lui passent le nom de la colonne sur laquelle assortir serait basé. Après avoir appelé OrderBy (), accéder à sa propriété booléenne d'OrderByOn et placer sa valeur pour rectifier. Pour enlever assortir, accéder à l'OrderByOn et placer sa valeur à faux.

Assortir des disques sur une question

Si vous créez visuellement une question en utilisant la fenêtre choisie de question, assortir les disques, après choix de la colonne sur laquelle assortir serait basé, cliquent la boîte correspondant à sa rangée de sorte, vous pouvez cliquer la flèche de sa boîte combo et choisir monter

Pour assortir les disques à l'envers l'ordre, choisir la descente à la place.

Étude pratiqueÉtude pratique : Assortir des disques sur une question

  1. Dans la fenêtre de base de données, questions de clic.
    Droit-cliquer StaffSocialInformation et cliquer la vue de conception
  2. Dans la section inférieure de la fenêtre, droit-cliquer la petite barre au-dessus de FirstName et cliquer la coupe
  3. Dans la section supérieure de la fenêtre, cliquer FirstName, le traîner et le laisser tomber sur DateHired dans la section inférieure de la fenêtre
  4. Dans la section inférieure de la fenêtre, cliquer la boîte de sorte qui correspond à la colonne de LastName, puis cliquer la flèche de la boîte combo et choisir monter
     
  5. Commuter la question à la vue de Datasheet pour regarder le résultat
  6. Pour sauver la question, sur le menu principal, dossier de clic - > économiser comme…
  7. Dactylographier les membres de personnel dans l'ordre alphabétique comme nom de la question et cliquer BIEN
  8. Clôturer la question
  9. Dans la section de questions de la fenêtre de base de données, droit-cliquer StaffSocialInformation et cliquer la vue de conception
  10. Dans la section inférieure de la fenêtre, cliquer la boîte de sorte qui correspond à la colonne de DateHired, puis cliquer la flèche de la boîte combo et choisir monter
  11. Commuter la question à la vue de Datasheet pour regarder le résultat
  12. Pour sauver la question, sur le menu principal, dossier de clic - > économiser comme…
  13. Dactylographier les membres de personnel par Seniority comme nom de la question et cliquer BIEN
  14. Clôturer la question

Assortir des disques avec le SQL

Dans le SQL, pour assortir un champ dans l'ordre croissant, vous pouvez inclure l'ORDRE PAR clause dans votre rapport. La syntaxe utilisée serait :

SELECT What FROM WhatObject ORDER BY WhatField;

Le champ utilisé comme base doit être identifié en tant qu'élément des colonnes choisies. Vous imaginer pour avoir créé une liste de membres de personnel faits de leurs premiers et derniers noms dans une table appelée StaffMembers. Si vous voulez commander la liste dans l'ordre alphabétique basé sur la colonne de LastName, vous emploieriez un rapport comme :

SELECT FirstName, LastName FROM StaffMembers ORDER BY LastName;

Si vous employez * opérateur pour inclure tous les champs, vous pouvez commander la liste basée sur les gisements de la table l'une des, comme nous avons appris pendant l'analyse de données. Imaginer que vous avez créé une question qui inclut tous les champs. Le rapport suivant énumérerait les disques de la table de StaffMembers basée sur l'ordre alphabétique de la colonne de LastName :

SELECT * FROM StaffMembers ORDER BY LastName;

Par défaut, des disques sont commandés dans l'ordre croissant. Néanmoins, l'ordre croissant est commandé en utilisant le mot-clé d'ASC indiqué après le champ basé. Par exemple, pour assortir les noms de bout dans l'ordre croissant d'une question qui inclut les premiers et derniers noms, le rapport ci-dessus peut également être écrit comme suit :

SELECT FirstName, LastName FROM StaffMembers ORDER BY LastName ASC;

Le deuxième rapport peut être écrit comme :

SELECT * FROM StaffMembers ORDER BY LastName ASC;

Si vous voulez assortir des disques dans l'ordre décroissant, employer le mot-clé de DESC à la place. Il produit le résultat opposé à l'effet d'ASC. Pour assortir des disques dans l'ordre alphabétique renversé, les deux rapports ci-dessus peuvent être écrits comme :

SELECT FirstName, LastName FROM StaffMembers ORDER BY LastName DESC;

Le deuxième rapport peut être écrit comme :

SELECT * FROM StaffMembers ORDER BY LastName DESC;

Si vous voulez créer programmatically une question d'un de ces rapports, se rappeler que vous pouvez employer la méthode de CreateQueryDef ().

Étude pratiqueÉtude pratique : Assortir des disques sur une forme

  1. Dans la section de formes de la fenêtre de base de données, droit-cliquer les étudiants et cliquer la vue de conception
  2. Montrer la section de titre de bas de page de forme. Sur la boîte à outils, cliquer la boîte Combo et cliquer le côté gauche sous la barre de titre de bas de page de forme. Si les débuts de magicien de boîte Combo, cliquent l'annulation
  3. Dans la fenêtre de propriétés, changer le nom de la boîte combo en cboColumnNames1
  4. Placer son type de source de rangée pour évaluer la liste
  5. Changer la légende de son étiquette de accompagnement en sorte par :
  6. S'assurer que le bouton de magicien de commande de la boîte à outils est vers le bas. Sur la boîte à outils, cliquer la boîte Combo et cliquer du bon côté de la boîte combo précédemment supplémentaire dans la section de titre de bas de page de forme
  7. Dans la première page du magicien de boîte Combo, cliquer le deuxième bouton par radio (je saisirai les valeurs que je veux) et cliquer après
  8. Cliquer sous Col1 et dactylographier l'ordre croissant
  9. Appuyer la touche de déplacement du curseur et dactylographier l'ordre décroissant
  10. Cliquer après
  11. Dans la troisième page du magicien, accepter le premier bouton par radio et cliquer après
  12. Changer l'étiquette en dedans et cliquer la finition
  13. Dans la fenêtre de propriétés, changer le nom combo de box en cboSortOrder
  14. L'Access les propriétés de la forme double-en cliquant le bouton à l'intersection des règles et cliquent l'étiquette d'événements
  15. Double-cliquer sur ouvert pour choisir [procédé d'événement], puis cliquer son bouton de points de suspension
  16. Mettre en application l'événement comme suit :
     
    Private Sub Form_Open(Cancel As Integer)
        On Error GoTo FormOpen_Err
        
        Dim curDatabase As Object
        Dim strColumnsNames As String
        Dim tblStudents As Object
        Dim fldColumn As Object
    
        ' Get a reference to the current database
        Set curDatabase = CurrentDb
        ' Get a reference to a table named Students
        Set tblStudents = curDatabase.TableDefs("Students")
        
        ' Retrieve the name of each column of the table and
        ' store each name in the strColumnsNames string
        For Each fldColumn In tblStudents.Fields
            strColumnsNames = strColumnsNames & fldColumn.Name & ";"
        Next
        
        ' Set the strColumnsNames string as the data source of the combo box
        cboColumnNames1.RowSource = strColumnsNames
        
        ' Select the name of the first column as the default of the combo box
        cboColumnNames1 = tblStudents.Fields(0).Name
        cboOrderBy = "Ascending Order"
        
        Exit Sub
    
    FormOpen_Err:
        MsgBox "There was an error when opening the form." & vbCrLf & _
               "Error #: " & Err.Number & vbCrLf & _
               "Description: " & Err.Description & vbCrLf & _
               "Please contact the program vendor if " & _
    	   "he is not sleeping at this time."
        Resume Next
    End Sub
  17. Revenir à la forme et cliquer la sorte par la boîte combo
  18. Dans la section d'événements de la fenêtre de propriétés, double-cliquer après mise à jour
  19. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub cboColumnNames1_AfterUpdate()
        Dim strColumnName As String
        Dim strSortOrder As String
        
        ' Get the name of the column from the Sort By combo box
        strColumnName = cboColumnNames1
        
        ' Sort the records based on the column name from the combo box
        Me.OrderBy = strColumnName
        Me.OrderByOn = True
        
        ' Set the In combo box to ascending order by default
        cboSortOrder = "Ascending Order"
    End Sub
  20. Revenir à la forme et cliquer dans la boîte combo
  21. Dans la section d'événements de la fenêtre de propriétés, double-cliquer après mise à jour
  22. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub cboSortOrder_AfterUpdate()
        Dim strColumnName As String
        Dim strSortOrder As String
        
        strColumnName = cboColumnNames1
        
        ' Unless the user selects Descending Order...
        If cboSortOrder = "Descending Order" Then
            strSortOrder = "DESC"
        Else ' We will consider that it should be sorted in ascending order
            strSortOrder = "ASC"
        End If
        
        Me.OrderBy = strColumnName & " " & strSortOrder
        Me.OrderByOn = True
    End Sub
  23. Revenir à la forme et, de la boîte à outils, ajouter un bouton de commande à la section de titre de bas de page de forme de bon côté
  24. Quand les débuts de magicien de bouton de commande, cliquent l'annulation
  25. Changer le nom de bouton en cmdRemoveFilterSort et placer sa légende à
    Enlever le filtre/sorte
  26. Tandis que le bouton est encore choisi, dans la fenêtre de propriétés, clic de double sur le clic
  27. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub cmdRemoveFilterSort_Click()
        Me.OrderBy = "StudentID"
        Me.OrderByOn = True
        
        Me.cboColumnNames1 = "StudentID"
        Me.cboSortOrder = "Ascending Order"
    End Sub
  28. Revenir à la forme et la sauver
     
  29. Utilisant la boîte combo dans la section de titre de bas de page de forme, l'essai assortissant les disques par le LastName est ordre décroissant
     
  30. Enlever l'ordre de sorte
  31. Essayer d'assortir les disques dans l'ordre croissant basé sur la date de naissance
     
  32. Noter que les disques sans la date de naissance apparaissent d'abord
  33. Fermer la forme

Filtrage de données

 

Introduction

Le filtrage de données se compose isoler les disques particuliers basés sur une condition, également appelée un critère ou les critères. Vous commencez des données filtrer en choisissant une ou plusieurs colonnes qui contiennent des données que vous êtes intéressés po. Ceci te permet d'avoir accès à toutes les valeurs de la table. Puis, parmi les colonnes choisies, au lieu de cela en utilisant tous les disques disponibles, vous indiquez une condition. Seulement les disques qui vous respectent les règles ont placé seraient produits. Pour indiquer une condition, vous combinez l'expression CHOISIE avec opérateur. La formule de base à suivre est :

SELECT What FROM WhatObject WHERE Expression;

Quel facteur est employé pour indiquer les colonnes dont les données seraient considérées. Le WhatObject est le nom de la table (ou de la question) cette des prises les données. Le CHOISI et OÙ des mots-clés sont exigés. L'expression est la condition qui placera la règle pour suivre. L'expression est une vraie expression. Elle peut être faite du nom d'une colonne impliquée dans un rapport conditionnel spécial.

Données de filtrage de Programmatically

Pour exécuter programmatically des données filtrant sur une table, une question, une forme, ou un rapport, emploient sa propriété de filtre et l'assignent condition. Pour appliquer le filtre, accéder à sa propriété de FilterOn et lui assigner une valeur de vrai. Pour enlever le filtre, assigner à la valeur fausse à sa propriété de FilterOn.

Données filtrant avec des opérateurs

Considérer la liste suivante de registrants d'une colonie de vacances :

Imaginer que, de cette table des étudiants, vous veulent extraire seulement une liste d'étudiants masculins, vous écririez la condition comme genre = mâle. Ceci serait fait comme suit :

SELECT * FROM Students WHERE Gender="Male";

En écrivant le nom d'une table, d'une question, ou d'une colonne, si elle est dans plus d'un mot, vous devez l'inclure entre crochets. Pour être sûr, même si le nom est dans un mot, vous devriez immobile l'inclure entre crochets. Basé sur ceci, le rapport ci-dessus serait écrit comme suit :

SELECT * FROM [Students] WHERE [Gender]="Male";

Une autre suggestion que vous pouvez employer est de qualifier le nom de chaque colonne pour indiquer que la table ou le questionner appartient à. Faire ceci, dactylographier le nom de la table ou de la question, suivi d'une période, a suivi du nom de la colonne ou *. Voici un exemple :

SELECT Students.FirstName, Students.LastName
FROM Students WHERE Students.Gender="Male";

Vous pouvez également délimiter chaque nom avec les crochets comme suit :

SELECT [Students].[FirstName], [Students].[LastName]
FROM [Students] WHERE [Students].[Gender]="Male";

Pour exécuter des données filtrant sur une table, une question, ou une forme, après avoir montré l'objet, vous pouvez droit-cliquez la valeur sous la colonne sur laquelle vous appliquerez le filtre de condition et de clic par Selection. Dans ce cas-ci l'égalité de l'OÙ la condition serait appliquée. Basé sur ceci, ce qui précède OÙ l'état " masculin " de Gender= peut être obtenu droit-en cliquant une valeur masculine sous la colonne de genre et en cliquant le filtre par Selection :

Vis-à-vis l'état d'égalité est pas l'égalité. Par exemple, au lieu d'obtenir une liste d'étudiants masculins comme ci-dessus, pour obtenir une liste d'étudiants qui ne sont pas masculins, vous pouvez écrire la condition comme <> " mâle " comme suit :

SELECT * FROM Students WHERE Gender<>"Male";

Pour appliquer visuellement pas la condition d'égalité sur une forme, une question, ou un rapport, vous pouvez cliquer la valeur qui serait exclue et le filtre de clic à l'exclusion du choix. Le filtre par Selection et le filtre à l'exclusion des options de choix sont utilisés pour appliquer l'égalité et les conditions d'inégalité en filtrant. En fait, une condition est créée en utilisant les opérateurs conditionnels que nous avons étudiés dans la leçon 7 (mais pas exactement les rapports conditionnels). Pour les employer visuellement, droit-cliquer la table, la question, ou la forme, et utiliser la boîte des textes du filtre pour l'option. Dans la boîte, dactylographier l'expression comprenant la colonne, l'opérateur, et la valeur. Voici un exemple :

Après la dactylographie de l'expression, la pression entrent et la condition serait appliquée. Après quelques exemples d'OÙ les conditions sur une table ont appelé Students :

Pour obtenir une liste d'étudiants qui vivent dans MD, vous aviez l'habitude un rapport comme ce qui suit :

SELECT *
FROM Students
WHERE State='MD'

Pour obtenir une liste de filles avec leurs noms et adresses d'email, vous aviez l'habitude un rapport comme suit :

SELECT LastName, FirstName, Gender, EmailAddress
FROM Students
WHERE Gender='Female'
ORDER BY LastName

Pour employer l'opérateur d'inégalité, vous pouvez écrire le rapport suivant :

SELECT FirstName, LastName, Gender
FROM Students
WHERE Gender <> 'Female';

Pour obtenir une liste d'étudiants nés avant juin 1988, vous aviez l'habitude un rapport comme suit :

SELECT FirstName, LastName, Gender, DOB
FROM Students
WHERE DOB < '1988-06-01';

Pour obtenir une liste d'étudiants soutenus avant 1990, vous aviez l'habitude un rapport comme suit :

SELECT FirstName, LastName, DOB, EmailAddress
FROM Students
WHERE DOB <= '1990-01-01'

Pour obtenir une liste d'étudiants féminins en niant tels qui sont le genre masculin, vous écririez le rapport suivant :

SELECT LastName, FirstName, Gender, DOB
FROM Students
WHERE NOT (Gender = 'Male')

Pour obtenir une liste d'étudiants où le disque n'inclut pas un nom de secours, vous aviez l'habitude un rapport comme suit :

SELECT LastName, FirstName, Gender, EmergencyName
FROM Students
WHERE EmergencyName IS NULL

Pour obtenir une liste des étudiants dont les disques incluent un nombre pour appeler en cas d'urgence, vous pourriez employer le rapport suivant :

SELECT LastName, FirstName, EmergencyName, EmergencyPhone
FROM Students
WHERE EmergencyPhone IS NOT NULL

Après filtrage des données sur une table, une question, ou une forme, vous devriez remettre à zéro l'objet. Pour faire ceci, vous pouvez droit-cliquez n'importe où dans l'objet et le clic enlèvent le filtre/sorte.

 


Précédent Copyright © Yevol, 2007 Suivant