1

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

首先,我认为这个库适用于 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。更新参考时还有什么大的语法变化吗?

如果有人有一些示例代码,包括会有很大帮助的参考。

谢谢你的帮助

4

2 回答 2

3

尝试设置对 COM 对象 Microsoft Access 14.0 对象库的引用。然后您应该能够导入互操作访问。

Imports Microsoft.Office.Interop.Access

However, I really recommend you consider moving to ADO.NET instead. It is quite different from DAO or ADO (classic) but it is also much more robust and flexible.

于 2012-10-19T15:19:33.117 回答
2

Do consider migrating to ADO.Net instead.

If you do decide to migrate to ADO, you could look at some of the old advice for migrating from DAO to ADO in VB6. A lot of this advice will still be very relevant, as it relates to object models, differences in the database providers, etc. Here are some links

于 2012-10-19T16:50:48.420 回答