我正在Microsoft Access中创建一个应用程序。这适用于客户将在桌面上运行的小型数据库。不会涉及任何类型的网络。使用数据库的所有必要文件必须位于一台台式计算机上。
我想分阶段将应用交付给我的客户。我很可能会将.accdb文件通过电子邮件发送给客户。如何提供更新并维护客户已输入的任何数据?更新可能包括对表结构和表单的更改。
我原始问题的答案解决了更改表单和其他UI元素的问题。但是,如果我想在现有表中添加表或添加列,该怎么办?如何在用户端保留尽可能多的数据的同时无缝地提供此类更改?
答案 0 :(得分:3)
将数据库和界面拆分为单独的文件。谷歌应该有大量的信息,因为这是MS Access应用程序的典型信息。
以下是一些可以帮助您入门的资源:
答案 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)