程序运行时候每天创建一个以日期命名的MDB文件,用于将当天的数据记录到相应的字段中 各位都会有什么创建方法?最近看一例子真没找到其中字段创建的代码 很疑惑。高手能否指点一下? ================================================================================ 答:在每个表里都加入一个日期字段,用GETDATE()取得系统当前日期,也就是当天的日期如果需要查找某一天的记录,只要SELECT * FROM TABLE WHERE RIQI=‘2005-12-12’就OK
创建mdb文件的方法Public Function TempDB() As Database '若数据库不存在创建数据库 Dim myfso Set myfso = CreateObject("Scripting.FileSystemObject") If myfso.FileExists(App.Path & "/Temp.mdb") = False Then Dim dbsNew As Database Set dbsNew = DBEngine.CreateDatabase(App.Path & "/Temp.mdb", _ dbLangGeneral, dbEncrypt) Dim tblNew As TableDef Dim fld1 As Field Dim idx As Index, fldIndex As Field Set tblNew = dbsNew.CreateTableDef("tblNewRecord") With tblNew Set fld1 = tblNew.CreateField("NewRecordID", dbLong) fld1.Attributes = fld1.Attributes + dbAutoIncrField 'fld1.DefaultValue = "Random" ' fld1.NewValues = "Random" 'Set fld1.Attributes("NewValues") = "random" .Fields.Append fld1 .Fields.Append .CreateField("Date", dbDate, 50) .Fields.Append .CreateField("ComputerName", dbText, 255) .Fields.Append .CreateField("tblName", dbText, 255) .Fields.Append .CreateField("tblIndex", dbText, 255) .Fields.Append .CreateField("tblIndex1", dbText, 255) .Fields.Append .CreateField("Status", dbInteger) .Fields.Append .CreateField("ModifyUser", dbText, 50) End With ' Create primary key index. Set idx = tblNew.CreateIndex("PrimaryKey") Set fldIndex = idx.CreateField("NewRecordID", dbLong) ' Append index fields. idx.Fields.Append fldIndex ' Set Primary property. idx.Primary = True ' Append index. tblNew.Indexes.Append idx ' Append TableDef object. dbsNew.TableDefs.Append tblNew 'tblNew.Fields("NewRecordID").Properties(NewValues) = "RanDom" End If Set TempDB = DBEngine.OpenDatabase(App.Path & "/Temp.mdb")End Function
如果非要用mdb文件,而且还有固定的表等内容的话,不行把它做为资源文件看看。
各位都会有什么创建方法?最近看一例子真没找到其中字段创建的代码
很疑惑。高手能否指点一下?
================================================================================
答:在每个表里都加入一个日期字段,用GETDATE()取得系统当前日期,也就是当天的日期如果需要查找某一天的记录,只要SELECT * FROM TABLE WHERE RIQI=‘2005-12-12’就OK
Sorry,这真是很愚蠢的方法~~~~~~~~~
数据库是干什么用的~~~~~~~~~~~需要这样~~~~~~~~~~~~~虽然你讲的,用代码也完全能实现~~~~~~~~ADOX也是可以实现的~~~~~~~~~~
每天建立一个表都不赞成。
每天产生具有相同日期的若干记录即可。你硬要每天建立一个库是很容易作到的,如zhuzi()所说。
Set myfso = CreateObject("Scripting.FileSystemObject") If myfso.FileExists(App.Path & "/Temp.mdb") = False Then Dim dbsNew As Database
Set dbsNew = DBEngine.CreateDatabase(App.Path & "/Temp.mdb", _
dbLangGeneral, dbEncrypt)
Dim tblNew As TableDef
Dim fld1 As Field
Dim idx As Index, fldIndex As Field
Set tblNew = dbsNew.CreateTableDef("tblNewRecord") With tblNew Set fld1 = tblNew.CreateField("NewRecordID", dbLong)
fld1.Attributes = fld1.Attributes + dbAutoIncrField
'fld1.DefaultValue = "Random"
' fld1.NewValues = "Random"
'Set fld1.Attributes("NewValues") = "random"
.Fields.Append fld1
.Fields.Append .CreateField("Date", dbDate, 50)
.Fields.Append .CreateField("ComputerName", dbText, 255)
.Fields.Append .CreateField("tblName", dbText, 255)
.Fields.Append .CreateField("tblIndex", dbText, 255)
.Fields.Append .CreateField("tblIndex1", dbText, 255)
.Fields.Append .CreateField("Status", dbInteger)
.Fields.Append .CreateField("ModifyUser", dbText, 50) End With ' Create primary key index.
Set idx = tblNew.CreateIndex("PrimaryKey")
Set fldIndex = idx.CreateField("NewRecordID", dbLong)
' Append index fields.
idx.Fields.Append fldIndex
' Set Primary property.
idx.Primary = True
' Append index.
tblNew.Indexes.Append idx
' Append TableDef object.
dbsNew.TableDefs.Append tblNew
'tblNew.Fields("NewRecordID").Properties(NewValues) = "RanDom" End If Set TempDB = DBEngine.OpenDatabase(App.Path & "/Temp.mdb")End Function