longmatch
Programmer
- Nov 1, 2001
- 406
I just got this code from "Access VBA 2000 handbook" book. It can compile when I ran it using their database file. But when I copied this code to a new database, It can not compile. I have checked the references, making sure I have Microsoft DAO 3.6 object and Microsoft Jet and Replicatioin object. I do not know why.
Haijun
Public Sub NewTable()
Dim db As Database, tdf As TableDef
Dim fld1 As Field, fld2 As Field, fld3 As Field, fld4 As Field
Set db = CurrentDb
Set tdf = db.CreateTableDef("tblEmployeeExpenses"
Set fld1 = tdf.CreateField("ExpenseID", dbLong)
fld1.Required = True
' To increment the value for new records
fld1.Attributes = dbAutoIncrField
Set fld2 = tdf.CreateField("EmployeeID", dbLong)
fld2.Required = True
Set fld3 = tdf.CreateField
With fld3
.Name = "ExpenseType"
.Required = True
.Type = dbText
.Size = 30
End With
Set fld4 = tdf.CreateField("Amount", dbCurrency)
With tdf.Fields
.Append fld1
.Append fld2
.Append fld3
.Append fld4
End With
db.TableDefs.Append tdf
RefreshDatabaseWindow
End Sub
Haijun
Public Sub NewTable()
Dim db As Database, tdf As TableDef
Dim fld1 As Field, fld2 As Field, fld3 As Field, fld4 As Field
Set db = CurrentDb
Set tdf = db.CreateTableDef("tblEmployeeExpenses"
Set fld1 = tdf.CreateField("ExpenseID", dbLong)
fld1.Required = True
' To increment the value for new records
fld1.Attributes = dbAutoIncrField
Set fld2 = tdf.CreateField("EmployeeID", dbLong)
fld2.Required = True
Set fld3 = tdf.CreateField
With fld3
.Name = "ExpenseType"
.Required = True
.Type = dbText
.Size = 30
End With
Set fld4 = tdf.CreateField("Amount", dbCurrency)
With tdf.Fields
.Append fld1
.Append fld2
.Append fld3
.Append fld4
End With
db.TableDefs.Append tdf
RefreshDatabaseWindow
End Sub