如何用VB6生成一个ACCESS 2003(2000) 的文件而且.MDB需要带密码
生成的ACCESS文件中还需要建立两个表格TABLE1
IDROPA
DESCRIPTIONTABLE2
IDLINEA
IDROPATABLE1 和TALBE2 是1对多的关系,最后一个关系的建立到无所谓,关键是生成有密码的.MDB文件和TABLES
如果高手说分不够的话,我再加,手里还有700来分吧,只要问题解决了都给您也无所谓

解决方案 »

  1.   

    生成什么啊,自己准备一个现成的MDB文件,改扩展名,到时候用这个文件拷贝,然后改个名就行了,
    省得这么麻烦!速度还快.
      

  2.   

    准备工作:
    事先建好这个文件,整个文件用二进制方式读入一个Byte数组,用Debug.print把数组内容打出来,拷贝出来代码中:
    二进制方式创建文件,用准备工作得到的值直接给数组赋值,写文件,呵呵~
      

  3.   

    引用 Microsoft Access  11.0 Object Libary 或 Microsoft Access 9.0 Object Libary ,就像开发 Excel 一样 ,只不过 Access 用的很少,不太熟悉!大家一起来看VBA帮助摸索,估计下午可以给出答案!
      

  4.   

    要引用DAO库Public Function CreatBeautyDB(Optional DBName As String = "\AAAAA.mdb", Optional DBPassward As String = "AAAAA") As Boolean    On Error GoTo ErrDatabase
        
        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
      

  5.   

    ====饿着肚子,试了一个大概,是否楼主希望了结果 ? Dim accApp As New Access.Application  'Access 对象
    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
      

  6.   

    问题我基本已经自己解决了,用的 ADOX,引用 MS 的ADO EXT 2.8可以创建带密码的MDB, 楼上两位的代码我记下了,一会看看,估计也没什么问题吧
    怎么这年头跟VB这带星星的都不如个三角的