提供对Access数据库应用程序的更新

时间:2012-07-07 17:59:03

标签: database ms-access

我正在Microsoft Access中创建一个应用程序。这适用于客户将在桌面上运行的小型数据库。不会涉及任何类型的网络。使用数据库的所有必要文件必须位于一台台式计算机上。

我想分阶段将应用交付给我的客户。我很可能会将.accdb文件通过电子邮件发送给客户。如何提供更新并维护客户已输入的任何数据?更新可能包括对表结构和表单的更改。

我原始问题的答案解决了更改表单和其他UI元素的问题。但是,如果我想在现有表中添加表或添加列,该怎么办?如何在用户端保留尽可能多的数据的同时无缝地提供此类更改?

2 个答案:

答案 0 :(得分:3)

将数据库和界面拆分为单独的文件。谷歌应该有大量的信息,因为这是MS Access应用程序的典型信息。

以下是一些可以帮助您入门的资源:

How to manually split a Access database in Microsoft Access

Splitting an Access Database, Step by Step

答案 1 :(得分:2)

你绝对必须(!)将你的数据库分成两部分。存储表(“数据库”)的后端部分和包含表单,报告,查询和应用程序逻辑(“应用程序”)的前端。将表从后端链接到前端。

前端可能还包含带控制参数表,报告词典等的表格,但没有客户输入的数据!

较新版本的Access具有数据库拆分向导。

您可能需要一个代码,可以自动将后端链接到客户站点上的前端。


更新

您有两种方法可以在客户PC上更改数据库的架构。

1)通过DAO(或ADOX)对象模型执行更新。 e.g。

    Set tdf = db.CreateTableDef("tblNew")
    tdf.Fields.Append tdf.CreateField("fieldname", dbText)
    ...
    db.TableDefs.Append tdf

2)使用DDL查询

    CREATE TABLE MyNewTable (
      ID AUTOINCREMENT,
      Textfield    TEXT(50),
      LongField    LONG,
      ...,
      CONSTRAINT PK_MyNewTable PRIMARY KEY (ID)
    )

或者

    ALTER TABLE SomeExistingTable ADD COLUMN Newcolumn Text(50)