當資料庫建立之後,就可以在資料庫中新增資料表物件,新增的方式是透過 CreateTabledef 的方法,透過此方法只要指定資料庫的名稱,就可以建立 TableDef 物件,然後在 TableDef 物件中就可以利用 CreateField 方法來新增欄位,所新增的欄位都會加入 Fields 集合物件中,最後操作完畢就可以關閉資料庫。
☛ 範例程式碼
Option Compare Database Option Explicit 'DAO 資料庫物件建立資料表 Public Sub CDbase() On Error GoTo error1 Dim db1 As Database Dim t1 As TableDef Dim f1 As Field Set db1 = DBEngine.Workspaces(0).Databases(0) Set t1 = db1.CreateTableDef("Table1") With t1 Set f1 = .CreateField("姓名", dbText, 16) t1.Fields.Append f1 Set f1 = .CreateField("公司", dbText, 20) t1.Fields.Append f1 Set f1 = .CreateField("電話", dbText, 20) t1.Fields.Append f1 Set f1 = .CreateField("聯絡日期", dbDate) t1.Fields.Append f1 End With db1.TableDefs.Append t1 db1.Close Exit Sub error1: MsgBox Err.Description Exit Sub End Sub
CreateField 方法可用來建立一個新的欄位物件,其 3 個引數分別是用來代表欄位的名稱、型態和大小,而型態的設定是可經由 Type 屬性的值來設定。
Set Field = object.CreateField( Name, type, size )
✦ Field:代表 Field 物件的物件變數。
✦ Object:一個物件變數用來代表 Index、Relation、TableDef 物件。
✦ name:選擇性的引數,代表新的 Field 物件名稱。
✦ type:選擇性的引數,透過常數可以決定 Field 物件的資料型態。
✦ size:選擇性的引數,描述欄位的最大位元組數。
type 屬性值可設定的常數如下所示:
常數 | 資料型態 | 常數 | 資料型態 |
dbBigInt | Big Integer | dbInteger | Integer |
dbBinary | Binary | dbLong | Long |
dbBoolean | Boolean | dbLongBinary | Long Binary ( OLE Object ) |
dbByte | Byte | dbMemo | Memo |
dbChar | Char | dbNumeric | Numeric |
dbCurrency | Currency | dbSingle | Single |
dbDate | Date | dbText | Text |
dbDecimal | Decimal | dbTime | Time |
dbDouble | Double | dbTimeStamp | Time Stamp |
dbFloat | Float | dbVarBinary | VarBinary |
dbGUID | GUID |