我有一些使用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。更新引用时是否还有大的语法更改?
如果某人有一些示例代码,其中包含很有帮助的参考资料。
感谢您的帮助
答案 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的旧建议。很多这样的建议仍然非常相关,因为它与对象模型,数据库提供者的差异等有关。以下是一些链接