从DAO 3.6更新到Microsoft Access对象库12.0

时间:2012-10-19 10:18:47

标签: sql vb.net visual-studio ms-access ms-access-2007

我有一些使用DAO 3.6的vb.net软件,我希望升级它以使用MS access 12库,这样我就可以在Windows 7 64bit上运行该软件。

首先,我认为这个库适用于Windows 7 64位和Access 2007吗?

我目前的代码:

Imports dao
Imports System.Runtime.InteropServices
Imports system.data


Public Sub DAOAccess()

    Dim dbe As dao.DBEngine
    Dim db As dao.Database
    Dim rs As dao.Recordset
    Dim ConnectionString As String
    dbe = New DBEngine

    Dim x, y As Integer

    ConnectionString = "J:\home\THC2WO\FieldMaster\DAO\FieldMaster.mdb"
    db = dbe.OpenDatabase(ConnectionString)
    rs = db.OpenRecordset("tabParameters")
    rs.Index = "ID_PAR"
    rs.MoveFirst()

    'frmFieldMaster.TextBox21.Text = ""
    For x = 0 To rs.RecordCount - 1
        For y = 0 To rs.Fields.Count - 1
            frmFieldMaster.TextBox21.Text = frmFieldMaster.TextBox21.Text & rs.Fields(y).Value & ", "
        Next
        rs.MoveNext()
        frmFieldMaster.TextBox21.Text = frmFieldMaster.TextBox21.Text & Chr(13) & Chr(10)
    Next

    rs.Close()
    db.Close()

我正在努力寻找在模块开始时需要哪些导入以启用新的DBEngine。更新引用时是否还有大的语法更改?

如果某人有一些示例代码,其中包含很有帮助的参考资料。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

尝试设置对COM对象Microsoft Access 14.0对象库的引用。然后你应该能够导入Interop Access。

Imports Microsoft.Office.Interop.Access

但是,我真的建议您考虑转而使用ADO.NET。它与DAO或ADO(经典)完全不同,但它也更加强大和灵活。

答案 1 :(得分:2)

请考虑迁移到ADO.Net。

如果您决定迁移到ADO,您可以查看一些在VB6中从DAO迁移到ADO的旧建议。很多这样的建议仍然非常相关,因为它与对象模型,数据库提供者的差异等有关。以下是一些链接