2010-05-19 69 views
1

我有一个应用程序使用当前分发的访问2000数据库。通过VB6中的代码更新访问2000数据库

我需要用客户计算机上的其他字段更新其中一个记录集。
我的数据控件正常工作,因为我已将它们设置为以访问2000格式进行连接。但是,当我尝试在代码中打开数据库时,出现无法识别的数据格式错误。

在他们的机器上替换或添加数据库的最佳方法是什么?

+0

嗨马克 - 很难说没有看到你用来连接数据库的代码,这将有助于准确地知道你正在使用哪些数据控件。 :-) – 2010-05-19 20:33:58

+0

你的意思是你想改变表格的结构吗?在我看来,改变你的记录集只会意味着改变你的代码。鉴于VB6标签,我假设你的前端是VB6,而不是Access,所以你应该改变你的应用程序并向其分发更新。 – 2010-05-20 01:08:01

回答

0

可以使用VBScript,ADO和DDL更新Access数据库。

strCon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Example.mdb;" _ 
    & "Jet OLEDB:Database Password=pass;" 

Set cn=CreateObject("ADODB.Connection") 
cn.Open strCon 

strSQL="ALTER TABLE Example ADD COLUMN Example Text (20)" 
cn.Execute strSQL 

更多的连接字符串:www.connectionstrings.com

0

我更喜欢使用DAO集合,以更新BE数据库模式,因为它让你在你可以做什么更多的控制。例如,您可以轻松删除或创建表,记录,索引和关系。请参阅我的网站上的TempTables.MDB page,其中说明了如何在您的应用程序中使用临时MDB并提供示例代码以帮助您入门。

+0

VBScript的优势在于它非常小巧,易于传输(甚至可以进行剪切和粘贴),可以快速编写,并且可以在没有安装Access的站点上运行,只在运行时运行。如果您愿意,可以使用DAO和VBScipt。 – Fionnuala 2010-05-20 08:57:07

+0

我更喜欢将代码放在应用程序中,而不是放在单独的文件中。我也更喜欢使用DAO,因为它对Access数据库文件有更多的控制。尽管对于向表中添加某些字段的这种特定更改可能并不重要。 – 2010-05-20 21:52:14

+0

在Windows的所有副本上是不是使用Jet 4安装DAO?因此,是不是可以在vbScript中使用DAO? – 2010-05-20 23:25:52