Page d'Accueil

Les Types de Colonnes d'un Tableau

 

Introduction

Pour exercer un bon niveau de contrôle des valeurs qui peuvent être écrites ou stockées dans une base de données, vous pouvez configurer chaque colonne pour permettre quelques types de valeur et/ou pour exclure quelques autres types. Ceci est fait en indiquant un type approprié de données pour la colonne. Le type de données d'une colonne suit les mêmes approches que nous avons passées en revue au sujet des types de données sur des variables mais il y a des différences avec les noms des types de données parmi les diverses bibliothèques utilisées.

Dans le Microsoft Access, pour indiquer le type de données d'une colonne, vous avez deux solutions de rechange, une est clair mais l'autre n'est pas. Si vous créez une table en utilisant le magicien de Tableau, chaque colonne que vous choisissez et s'ajoutent aux champs dans mon nouveau Tableau a un type de données spécifique. Tandis que vous êtes toujours dans le magicien de Tableau, vous ne pouvez pas savoir que clairement le type de données d'une colonne et de toi ne peut pas changer le type de données d'une colonne. Seulement avec la volonté d'expérience vous savez que toutes les colonnes dont l'extrémité nommée avec l'identification sont numérique, toute la colonne qui apparaissent comme date-orienté sont date basée. Les colonnes qui apparaissent pendant que les valeurs booléennes emploient un type de données booléen. Toutes les colonnes appelées l'utilisation de Notes un type de données de note, etc.

Probablement le meilleur endroit pour indiquer des données dactylographient dedans le Microsoft Access est avec la vue de conception d'une table. Indiquer le type de données d'une colonne, après avoir écrit son nom sous le nom de champ, cliquent sa boîte correspondante sous le type de données et cliquent la flèche de la boîte combo pour montrer la liste de types disponibles :

Si vous créez programmatically une table en utilisant ou bibliothèque des accès de Microsoft propre ou si en utilisant DAO, passer le type de données comme deuxième argument à la méthode de CreateField ().

Si vous employez le SQL pour créer votre table, passer le nom du type de données comme deuxième facteur de la colonne.

Les divers types de données disponibles sont les suivants.

Le texte a basé des champs

Si les champs sous une colonne seraient employés pour tenir n'importe quel type de valeur, y compris le texte régulier, tel une colonne est traitée comme corde-basé. Il y a de divers types de données que vous pouvez appliquer à une telle colonne. Le type de données le plus commun est texte. C'est équivalent au type de données de corde que nous avons passé en revue pour de base visuel de Microsoft.

Si vous créez programmatically votre table, en utilisant la bibliothèque des programmes résultants de Microsoft Access, pour appliquer un type de corde à une colonne, vous pouvez employer DB_Text. Voici un exemple :

Private Sub cmdCreateTable_Click()
    Dim curDatabase As Object
    Dim tblStudents As Object
    Dim colFullName As Object

    ' Get a reference to the current database
    Set curDatabase = CurrentDb
    ' Create a new table named Students
    Set tblStudents = curDatabase.CreateTableDef("Students")
    ' Create a colume named FullName in the Students table
    Set colFullName = tblStudents.CreateField("FullName", DB_Text)
    ' Add the FullName column to the Students table
    tblStudents.Fields.Append colFullName
    ' Add the Students table to the current database
    curDatabase.TableDefs.Append tblStudents
    
    DoCmd.SelectObject acTable, "Students", True
End Sub

Si vous employez DAO pour créer votre table et vous voulez que la colonne tienne des valeurs des textes, vous pouvez appliquer le type de dbText.

Si vous créez votre table en utilisant le SQL, pour une colonne dont la valeur corde-serait basée, vous pouvez appliquer le TEXTE, le CHAR, ou les types de données de VARCHAR. Voici un exemple :

Private Sub cmdCreateTable_Click()
    Dim strSQL As String
    
    strSQL = "CREATE Table Contracts (FirstName Text, LastName Varchar);"
    DoCmd.RunSQL strSQL
End Sub

Chacun du texte, du char, ou des types de données varchar produirait le même effet. Une colonne avec le texte, le char, ou le type de données varchar permet n'importe quel type de valeur fait en n'importe quel caractère jusqu'à 255 symboles. Si vous voulez que la colonne stocke un plus long texte et si vous créez la table dans la vue de conception, après l'indication de son nom, ensemble son type de données à la note. Comme le type de données des textes, la note est employée pour n'importe quel type de texte, n'importe quelle combinaison des caractères, et des symboles. La différence principale avec le type de données des textes est qu'une colonne de note laisse stocker un plus long texte jusqu'à 64000 caractères.

Si vous créez programmatically une colonne, employant la bibliothèque des programmes résultants de Microsoft Access, si vous voulez qu'elle stocke un plus long texte que le type de données des textes ou une corde régulière manipulerait, passer son type comme DB_MEMO. Voici un exemple :

Private Sub cmdCreateTable_Click()
    Dim curDatabase As Object
    Dim tblStudents As Object
    Dim colFullName As Object
    Dim colComments As Object

    Set curDatabase = CurrentDb
    Set tblStudents = curDatabase.CreateTableDef("Students")
    
    ' Create a colume named FullName in the Students table
    Set colFullName = tblStudents.CreateField("FullName", DB_Text)
    tblStudents.Fields.Append colFullName
    ' Create the Comments column
    Set colComments = tblStudents.CreateField("Comments", DB_MEMO)
    tblStudents.Fields.Append colComments
    
    ' Add the Students table to the current database
    curDatabase.TableDefs.Append tblStudents
    
    DoCmd.SelectObject acTable, "Students", True
End Sub

Si vous créez la table en utilisant DAO et voulez employer de longues valeurs des textes sur une colonne, indiquer son type de données comme dbMemo. Voici un exemple :

Private Sub cmdTableCreation_Click()
    Dim curDatabase As DAO.Database
    Dim tblStudents As DAO.TableDef
    Dim colFullName As DAO.Field
    Dim colAnnualReview As DAO.Field

    ' Get a reference to the current database
    Set curDatabase = CurrentDb
    ' Create a new table named Students
    Set tblStudents = curDatabase.CreateTableDef("Students")

    Set colFullName = tblStudents.CreateField("FullName", dbText)
    tblStudents.Fields.Append colFullName
    
    Set colAnnualReview = tblStudents.CreateField("AnnualReview", dbMemo)
    tblStudents.Fields.Append colAnnualReview
    
    ' Add the Students table to the current database
    curDatabase.TableDefs.Append tblStudents
    
    DoCmd.SelectObject acTable, "Students", True
End Sub

Si vous employez le SQL pour créer votre table, vous pouvez appliquer la NOTE, la NOTE, ou les types de données de LONGTEXT à une colonne qui stockerait le long texte.

Champs booléens

Si vous voulez créer une colonne pour tenir seulement des valeurs en tant qu'étant vrai ou étant faux, oui ou non, dessus ou au loin, 0 ou - 1 et si vous créez la table dans la vue de conception, a placé son type de données à Yes/No.

Si vous créez programmatically la colonne sur une table, en utilisant la bibliothèque des programmes résultants de Microsoft Access, et la colonne Booléen-serait basée, a placé son type de données comme DB_BOOLEAN. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblEmployees As Object
    Dim colFullName As Object
    Dim colIsMarried As Object

    Set curDatabase = CurrentDb
    Set tblEmployees = curDatabase.CreateTableDef("Employees")
    
    Set colFullName = tblEmployees.CreateField("FullName", DB_TEXT)
    tblEmployees.Fields.Append colFullName
    Set colIsMarried = tblEmployees.CreateField("IsMarried", DB_BOOLEAN)
    tblEmployees.Fields.Append colIsMarried
    
    ' Add the Students table to the current database
    curDatabase.TableDefs.Append tblEmployees
End Sub

Si vous créez une table en utilisant DAO et vous voulez qu'une colonne tienne des valeurs booléennes, indiquer son type de données comme dbBoolean. Voici un exemple :

Private Sub cmdTableCreation_Click()
    Dim curDatabase As DAO.Database
    Dim tblStudents As DAO.TableDef
    Dim colFullName As DAO.Field
    Dim colWasTransfered As DAO.Field

    Set curDatabase = CurrentDb
    
    Set tblStudents = curDatabase.CreateTableDef("Students")
    
    Set colFullName = tblStudents.CreateField("FullName", dbText)
    tblStudents.Fields.Append colFullName
    
    Set colWasTransfered = tblStudents.CreateField("WasTransfered", dbBoolean)
    tblStudents.Fields.Append colWasTransfered
    
    curDatabase.TableDefs.Append tblStudents
End Sub

Si vous employez le SQL pour créer la colonne, placer son type de données comme YESNO, PEU, ou LOGIQUE. Voici les exemples :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE TABLE Contractors(" & _
                 "FullName TEXT, " & _
                 "AvailableOnWeekend BIT, " & _
                 "OwnsACar LOGICAL, " & _
                 "CanShareOwnCar YESNO);"
End Sub

Ce sont équivalents au Yes/No des accès de Microsoft et au type de données booléen de base visuel de Microsoft.

Champs numériques intégraux

Dans la leçon 3, nous avons présenté les divers types de valeurs intégrales disponibles en de base visuel de Microsoft. Quand créer une table dans la vue de conception du Microsoft Access, si vous voulez qu'une colonne tienne des nombres normaux, a placé la première fois son type de données au nombre. Dans la section inférieure de la fenêtre, cliquer la flèche de la propriété de taille de champ et la choisir parmi la liste :

Byte : Le type de données de byte est identique que nous avons passé en revue avec des variables dans la leçon 3. Il est fait pour la petite valeur numérique pas plus de 255. Si vous créez programmatically la table en utilisant la bibliothèque des programmes résultants de Microsoft Access et vous voulez que la colonne tienne ces types de nombres, placer son type de données à DB_BYTE. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblEmployees As Object
    Dim colFullName As Object
    Dim colDepartmentCode As Object

    Set curDatabase = CurrentDb
    Set tblEmployees = curDatabase.CreateTableDef("Employees")
    
    Set colFullName = tblEmployees.CreateField("FullName", DB_TEXT)
    tblEmployees.Fields.Append colFullName
    Set colDepartmentCode = tblEmployees.CreateField("DepartmentCode", DB_BYTE)
    tblEmployees.Fields.Append colDepartmentCode
    
    curDatabase.TableDefs.Append tblEmployees
End Sub

Si vous créez la table en utilisant DAO et vous voulez une colonne qui tiendrait de petites valeurs numériques, vous pouvez indiquer son type de données comme dbByte.

Si vous employez le SQL pour créer la colonne, placer son type de données au byte ou à l'Integer1.

Nombre entier : Comme mentionné dans la leçon 3, si vous voulez employer des valeurs plus haut que le byte est fait pour, vous pouvez employer le type de nombre entier. Pour s'appliquer à une colonne vous créez la vue de conception d'une table, après réglage de son type de données au nombre dans la section supérieure de la table, dans le nombre entier choisi de section inférieure en tant que sa taille de champ.

Si vous êtes programmatically la colonne en utilisant la bibliothèque des programmes résultants de Microsoft Access et vous voulez ce type de valeur numérique, placer son type de données à DB_INTEGER. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblEmployees As Object
    Dim colFullName As Object
    Dim colDepartmentCode As Object

    Set curDatabase = CurrentDb
    Set tblEmployees = curDatabase.CreateTableDef("Employees")
    
    Set colFullName = tblEmployees.CreateField("FullName", DB_TEXT)
    tblEmployees.Fields.Append colFullName
    Set colDepartmentCode = tblEmployees.CreateField("DepartmentCode", DB_INTEGER)
    tblEmployees.Fields.Append colDepartmentCode
    
    curDatabase.TableDefs.Append tblEmployees
End Sub

Si vous employez DAO, indiquer le type de données de la colonne comme dbInteger. Voici un exemple :

Private Sub cmdCreateTable_Click()
    Dim dbThisOne As DAO.Database
    Dim tblEmployees As DAO.TableDef
    Dim fldEmployeeNumber As DAO.Field
    Dim fldFullName As DAO.Field
    
    ' Specify the database to use
    Set dbThisOne = CurrentDb

    ' Create a new TableDef object.
    Set tblEmployees = dbExercise.CreateTableDef("Employees")

    Set fldEmployeeNumber = tblEmployees.CreateField("EmployeeNumber", dbInteger)
    tblEmployees.Fields.Append fldEmployeeNumber
    
    Set fldFullName = tblEmployees.CreateField("FullName", dbText)
    tblEmployees.Fields.Append fldFullName

   ' Add the new table to the database.
   dbThisOne.TableDefs.Append tblEmployees
   dbThisOne.Close
End Sub

Si vous créez la colonne en utilisant le SQL et vous voulez employer un nombre entier, placer son type de données à un de ce qui suit : SHORT ou INTEGER2. Voici un exemple :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE TABLE Countries(DiplCode Short, AreaCode Integer2);"
End Sub

Long : Sans compter que le byte et le nombre entier, un autre nombre normal soutenu dans les bibliothèques s'appelle Long ou le long nombre entier. Ceci est employé pour des nombres sensiblement élevés. Si vous créez une table dans la vue de conception et vous voulez appliquer ce type de données, le choisir dans la taille de champ.

Si vous créez programmatically la colonne en utilisant la bibliothèque des programmes résultants de Microsoft Access, vous pouvez placer son type de données à DB_LONG. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblEmployees As Object
    Dim colFullName As Object
    Dim colDepartmentCode As Object

    Set curDatabase = CurrentDb
    Set tblEmployees = curDatabase.CreateTableDef("Employees")
    
    Set colFullName = tblEmployees.CreateField("FullName", DB_TEXT)
    tblEmployees.Fields.Append colFullName
    Set colDepartmentCode = tblEmployees.CreateField("DepartmentCode", DB_LONG)
    tblEmployees.Fields.Append colDepartmentCode
    
    curDatabase.TableDefs.Append tblEmployees
End Sub

Si vous créez votre colonne dans DAO, placer son type de données au dbLong. Voici un exemple :

Private Sub cmdCreateTable_Click()
    Dim dbThisOne As DAO.Database
    Dim tblEmployees As DAO.TableDef
    Dim fldEmployeeNumber As DAO.Field
    Dim fldFullName As DAO.Field
    Dim fldWeeklyHours As DAO.Field
    
    ' Specify the database to use
    Set dbThisOne = CurrentDb

    ' Create a new TableDef object.
    Set tblEmployees = dbExercise.CreateTableDef("Employees")

    Set fldEmployeeNumber = tblEmployees.CreateField("EmployeeNumber", dbLong)
    tblEmployees.Fields.Append fldEmployeeNumber
    
    Set fldFullName = tblEmployees.CreateField("FullName", dbText)
    tblEmployees.Fields.Append fldFullName

   ' Add the new table to the database.
   dbThisOne.TableDefs.Append tblEmployees
   dbThisOne.Close
End Sub

Si vous créez la colonne en utilisant le SQL, placer son type de données à un de ce qui suit : INTERNE, le NOMBRE ENTIER, INTEGER4 ou désirer ardemment. Voici un exemple :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE TABLE Countries(Area long, Population integer);"
End Sub

Certains de ces types de données seraient appliqués seulement au Microsoft Access et ne peuvent être employés dans d'autres environnements de SQL.

Champs numériques décimaux

Sans compter que des nombres normaux, une base de données doit également soutenir des valeurs décimales. Nous les avons présentées dans la leçon 3 comme valeurs qui tiennent une fraction. Puisque ceux-ci sont principalement considérés comme nombres, avant de s'appliquer les à une colonne, si vous créez une table dans la vue de conception, d'abord placer son type de données au nombre et, dans la section inférieure de la fenêtre, cliquer la flèche de la propriété de taille de champ.

Valeur à point mobile avec la précision simple : Si vous voulez une valeur décimale régulière sans respect à la précision sur la colonne, placer son type de données pour choisir. Si vous créez programmatically la colonne, indiquer son type de données comme DB_SINGLE. Si vous employez DAO, indiquer le type de données de la colonne comme dbSingle. Voici un exemple :

Private Sub cmdCreateTable_Click()
    Dim dbThisOne As DAO.Database
    Dim tblEmployees As DAO.TableDef
    Dim fldEmployeeNumber As DAO.Field
    Dim fldFullName As DAO.Field
    Dim fldWeeklyHours As DAO.Field
    
    ' Specify the database to use
    Set dbThisOne = CurrentDb

    ' Create a new TableDef object.
    Set tblEmployees = dbExercise.CreateTableDef("Employees")

    Set fldEmployeeNumber = tblEmployees.CreateField("EmployeeNumber", dbLong)
    tblEmployees.Fields.Append fldEmployeeNumber
    
    Set fldFullName = tblEmployees.CreateField("FullName", dbText)
    tblEmployees.Fields.Append fldFullName
    
    Set fldWeeklyHours = tblEmployees.CreateField("WeeklyHours", dbSingle)
    tblEmployees.Fields.Append fldWeeklyHours

   ' Add the new table to the database.
   dbThisOne.TableDefs.Append tblEmployees
   dbThisOne.Close
End Sub

Si vous employez le SQL, indiquer le type de données de la colonne comme simple.

Valeur à point mobile avec la précision : Si les valeurs d'une colonne exigeront un bon niveau de précision et si vous créez la table dans la vue de conception, indiquer la taille de champ de la colonne en tant que double après réglage de son type de données au nombre.

Si vous créez programmatically la colonne en utilisant la bibliothèque des programmes résultants de Microsoft Access, placer son type de données à DB_DOUBLE. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblEmployees As Object
    Dim colFullName As Object
    Dim colWeeklyHours As Object

    Set curDatabase = CurrentDb
    Set tblEmployees = curDatabase.CreateTableDef("Employees")
    
    Set colFullName = tblEmployees.CreateField("FullName", DB_TEXT)
    tblEmployees.Fields.Append colFullName
    Set colWeeklyHours = tblEmployees.CreateField("WeeklyHours", DB_DOUBLE)
    tblEmployees.Fields.Append colWeeklyHours
    
    curDatabase.TableDefs.Append tblEmployees
End Sub

Si vous employez DAO pour créer votre table, placer le type de données de la colonne à dbDouble.

Si vous créez la table dans le SQL, indiquer le type de données de la colonne en tant que NUMÉRIQUE ou DOUBLE pour soutenir des valeurs à double précision.

Gisements d'argent et de devise

Quand créer une table dans la vue de conception, si vous voulez qu'une colonne tienne des valeurs monétaires, a placé son type de données à la devise. Après réglage de ce type de données, quand une personne emploie l'application, la base de données se rapporterait à la langue réglée dans le panneau de commande et les règles dans la page de propriété de devise :

Par exemple, si la base de données est employée le dollar aux USA, USA et ses règles, y compris le symbole de $, être appliqué. Si vous voulez s'appliquer différentes règles à une colonne particulière, après réglage de son type de données à la devise, dans la section inférieure de la fenêtre, clic la flèche de la propriété de taille de champ et choisir l'option désirée :

Si vous créez programmatically la colonne et vous voulez qu'elle tienne des valeurs monétaires, placer son type de données à DB_CURRENCY. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblEmployees As Object
    Dim colFullName As Object
    Dim colWeeklyHours As Object
    Dim colHourlySalary As Object

    Set curDatabase = CurrentDb
    Set tblEmployees = curDatabase.CreateTableDef("Employees")
    
    Set colFullName = tblEmployees.CreateField("FullName", DB_TEXT)
    tblEmployees.Fields.Append colFullName
    Set colWeeklyHours = tblEmployees.CreateField("WeeklyHours", DB_DOUBLE)
    tblEmployees.Fields.Append colWeeklyHours
    Set colHourlySalary = tblEmployees.CreateField("HourlySalary", DB_CURRENCY)
    tblEmployees.Fields.Append colHourlySalary
    
    curDatabase.TableDefs.Append tblEmployees
End Sub

Si vous employez DAO, indiquer son type de données comme dbCurrency.

Si vous employez le SQL, indiquer son type de données comme argent ou devise. Voici un exemple :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE TABLE Employees(" & _
                 "FullName Text, " & _
                 "WeeklyHours Double, " & _
                 "HourlySalary Money);"
End Sub

L'argent et la devise ont le même effet dans le Microsoft Access.

Date et champs de Temps

Si vous créez une table dans la vue de conception et vous voulez qu'une colonne tienne la date, temps, ou des valeurs de date et d'heure, placer son type de données jusqu'ici/Temps. Employer la bibliothèque des programmes résultants de Microsoft Access, si vous créez programmatically une colonne qui tiendrait des valeurs de date/heure, a placé son type de données à DB_DATE. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblEmployees As Object
    Dim colFullName As Object
    Dim colDateHired As Object

    Set curDatabase = CurrentDb
    Set tblEmployees = curDatabase.CreateTableDef("Employees")
    
    Set colFullName = tblEmployees.CreateField("FullName", DB_TEXT)
    tblEmployees.Fields.Append colFullName
    Set colDateHired = tblEmployees.CreateField("DateHired", DB_DATE)
    tblEmployees.Fields.Append colDateHired
    
    curDatabase.TableDefs.Append tblEmployees
End Sub

Si vous créez la colonne en utilisant DAO, placer son type de données au dbDate.

Si vous créez un rapport de SQL pour créer la table, placer le type de données de sa colonne à la DATE ou aux types de DATETIME. Voici les exemples :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE TABLE Employees(" & _
                 "FullName Text, " & _
                 "DateHired Date, " & _
                 "DateLastReviewed DateTime);"
End Sub

Les deux types de données ont le même effet dans le Microsoft Access.

Champs binaires

Le type de données binaire peut laisser un champ accepter n'importe quel type de données mais il est équipé pour interpréter la valeur. Par exemple, il peut être employé pour recevoir des nombres hexadécimaux. Pour indiquer ceci en créant programmatically une colonne, en utilisant la bibliothèque des programmes résultants de Microsoft Access, indiquer son type de données comme DB_BINARY. Voici un exemple :

Private Sub cmdTableCreator_Click()
    Dim curDatabase As Object
    Dim tblBooks As Object
    Dim colShelf As Object

    Set curDatabase = CurrentDb
    Set tblBooks = curDatabase.CreateTableDef("Books")
    
    Set colShelf = tblBooks.CreateField("Shelf", DB_BINARY)
    tblBooks.Fields.Append colShelf
    
    curDatabase.TableDefs.Append tblBooks
End Sub

Si vous créez la table dans DAO, placer le type de données de la colonne comme dbBinary.

Si vous créez programmatically la colonne dans l'AGITATION, placer son type de données comme BINAIRE ou VARBINARY.

Champs d'image

Si vous créez une colonne qui tiendra les documents externes, tels que les images, composées (du Microsoft Word par exemple), ou le bilan, etc., et si vous travaillez dans la vue de la conception de la table, placer le type de données de la colonne à l'objet OLE.

Si vous créez programmatically la table en utilisant le SQL et si vous créez une colonne qui tiendrait les objets inclus, placer son type de données à un de ce qui suit : IMAGE, OLEOBJECT, LONGBINARY, ou GÉNÉRAL.

Champs d'hyperlien

Un hyperlien est un type de corde qui permet à l'utilisateur de se déplacer à un dossier différent une fois cliquée. Employer ce type de données si vous voulez permettre à l'utilisateur d'ouvrir des documents stockés dans d'autres applications.

Étude pratiqueÉtude pratique : Réglage des types de colonnes

  1. Sous le nom de champ, cliquer DateIssued et serrer l'étiquette
  2. Cliquer la flèche de la boîte combo sous le type de données et choisir le date/heure
  3. Appuyer la flèche et cliquer la flèche de la boîte combo
  4. Dans la liste, choisir le nombre pour la colonne de poids
  5. Économiser et fermer la table

 

 


Précédent Copyright © Yevol, 2007 Suivant