【问题标题】:Is it possible to modify the structure of an Access encrypted backend?是否可以修改 Access 加密后端的结构?
【发布时间】:2014-07-15 00:43:32
【问题描述】:

我有一个拆分数据库。尝试使用前端,我能够使用 VBA 将字段添加到链接后端的表中,直到我使用密码加密后端。

是否仍然可以在前端使用 VBA 向后端表中添加字段,而无需手动解密后端?

感谢您的回复。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    应该是的。试试这些笔记:

    Sub AlterDB()
        Dim db As DAO.Database
        Dim sDB As String
        Dim tdf As TableDef
        Dim fld As Field
    
        ''Encrypted
        sDB = "Z:\Docs\Test.enc"
    
        ''http://msdn.microsoft.com/en-us/library/office/ff193474.aspx
        ''Password is case sensitive
        Set db = OpenDatabase(sDB, False, False, "MS Access;PWD=pW")
    
        ''Option with tabledef
        ''The table is currently closed
        Set tdf = db.TableDefs("table1")
        Set fld = tdf.CreateField("NewField", dbText, 20)
        tdf.Fields.Append fld
    
        ''Option with DDL
        ssql = "ALTER TABLE table1 ADD COLUMN AnotherNew Int"
        db.Execute ssql, dbFailOnError
    
    End Sub
    
    Sub ListFields()
        sDB = "Z:\Docs\Test.enc"
        Set db = OpenDatabase(sDB, False, False, "MS Access;PWD=FB")
    
        Set tdf = db.TableDefs("table1")
        For Each f In tdf.Fields
            Debug.Print f.Name
        Next
    
    End Sub
    

    【讨论】:

    • 当然有效。我错过了 PWD 部分。再次感谢@Remou。我只是不明白为什么当我在语法中的 Options 参数中留下“False”时它不起作用。
    • 恐怕 false 是个怪癖。在其他任何地方你都可以一无所获,但据我所知,在这里你不能。
    猜你喜欢
    • 2012-02-07
    • 2014-10-28
    • 1970-01-01
    • 2019-09-27
    • 2022-01-07
    • 2012-11-13
    • 2011-07-20
    • 1970-01-01
    • 2011-02-24
    相关资源
    最近更新 更多