如何用VB6生成一个ACCESS 2003(2000) 的文件而且.MDB需要带密码
生成的ACCESS文件中还需要建立两个表格TABLE1
IDROPA
DESCRIPTIONTABLE2
IDLINEA
IDROPATABLE1 和TALBE2 是1对多的关系,最后一个关系的建立到无所谓,关键是生成有密码的.MDB文件和TABLES
如果高手说分不够的话,我再加,手里还有700来分吧,只要问题解决了都给您也无所谓
生成的ACCESS文件中还需要建立两个表格TABLE1
IDROPA
DESCRIPTIONTABLE2
IDLINEA
IDROPATABLE1 和TALBE2 是1对多的关系,最后一个关系的建立到无所谓,关键是生成有密码的.MDB文件和TABLES
如果高手说分不够的话,我再加,手里还有700来分吧,只要问题解决了都给您也无所谓
省得这么麻烦!速度还快.
事先建好这个文件,整个文件用二进制方式读入一个Byte数组,用Debug.print把数组内容打出来,拷贝出来代码中:
二进制方式创建文件,用准备工作得到的值直接给数组赋值,写文件,呵呵~
Dim BeautyWS As Workspace
Dim BeautyDBCreat As Database
Dim BeautyDBOpen As Database
Dim BeautyTableDef(10) As TableDef
Dim BeautyField As Field
Dim BeautyTempStr As String
Dim BeautyQueryDef As QueryDef
Dim i As Integer If Dir(App.Path & DBName) <> "" Then Kill App.Path & DBName
Set BeautyWS = CreateWorkspace("JetWorkspace", "admin", "", dbUseJet)
Set BeautyDBCreat = BeautyWS.CreateDatabase(App.Path & DBName, dbLangGeneral & ";pwd=" & DBPassward)
Set BeautyDBOpen = BeautyWS.OpenDatabase(App.Path & DBName, False, False, ";PWD=charlle")
Set BeautyTableDef(0) = BeautyDBOpen.CreateTableDef("CustomerInfo")
With BeautyTableDef(0)
.Fields.Append .CreateField("CusID", dbText, 5)
.Fields.Append .CreateField("CusName", dbText, 20)
.Fields.Append .CreateField("CusGender", dbText, 20)
.Fields.Append .CreateField("CusAge", dbLong)
.Fields.Append .CreateField("CusTelephone", dbText, 50)
.Fields.Append .CreateField("CusReMark", dbMemo)
.Fields.Append .CreateField("CusRegTime", dbText, 20)
.Fields.Append .CreateField("CusCollector", dbText, 20)
.Fields.Append .CreateField("CusActive", dbInteger)
For i = 0 To BeautyTableDef(0).Fields.Count - 1
BeautyTableDef(0).Fields(i).AllowZeroLength = True
Next
BeautyDBOpen.TableDefs.Append BeautyTableDef(0)
End With
Set BeautyTableDef(1) = BeautyDBOpen.CreateTableDef("DocBtCus")
With BeautyTableDef(1)
.Fields.Append .CreateField("BtId", dbText, 30)
.Fields.Append .CreateField("DocID", dbText, 5)
.Fields.Append .CreateField("CusID", dbText, 5)
.Fields.Append .CreateField("OprMode", dbText, 5)
.Fields.Append .CreateField("OprProperty", dbText, 20)
.Fields.Append .CreateField("PlusNum", dbLong)
.Fields.Append .CreateField("PlusWidth", dbText, 255)
.Fields.Append .CreateField("PlusInterval", dbText, 255)
.Fields.Append .CreateField("EnergyDensity", dbLong)
.Fields.Append .CreateField("FaculaNum", dbLong)
.Fields.Append .CreateField("BtTime", dbText, 20)
.Fields.Append .CreateField("PlusV", dbText)
For i = 0 To BeautyTableDef(1).Fields.Count - 1
BeautyTableDef(1).Fields(i).AllowZeroLength = True
Next
BeautyDBOpen.TableDefs.Append BeautyTableDef(1)
End With
BeautyDBCreat.Close
BeautyDBOpen.Close
BeautyWS.Close
CreatBeautyDB = True
Exit Function
ErrDatabase: ErrReport "CreatBeautyDB", Now, Err.Number, Err.Description
CreatBeautyDB = FalseEnd Function
Dim accPath As String
Dim accDB As Object
Dim accTB As Object
Dim accFL As VariantaccPath = "C:\test.mdb" 'MDB 的路径
accApp.NewCurrentDatabase accPath '创建新数据库
Set accDB = accApp.CurrentDb
Set accTB = accDB.CreateTableDef("Person") '创建表
Set accFL = accTB.CreateField("CompanyName", DB_TEXT, 20) ' 创建字段
accTB.Fields.Append accFL '添加字段
accDB.TableDefs.Append accTB '添加表
accDB.NewPassword "", "1234" '设置新的打开密码
Set accApp = Nothing
怎么这年头跟VB这带星星的都不如个三角的