![]() |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
|
|
|
||
| Précédent | Copyright © Yevol, 2007 | Suivant |
|
|
||