Mam jakieś oprogramowanie vb.net używające DAO 3.6, chcę je zaktualizować, aby używało biblioteki MS access 12, aby móc uruchomić oprogramowanie w systemie Windows 7 64bit.

Po pierwsze, czy mam rację sądząc, że ta biblioteka działa z 64-bitowym systemem Windows 7 i Access 2007?

Mój obecny kod:

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()

Próbuję znaleźć importy, których potrzebuję na początku modułu, aby włączyć nowy DBEngine. Czy są też jakieś duże zmiany składni podczas aktualizacji referencji?

Jeśli ktoś ma przykładowy kod zawierający odniesienia, które bardzo by pomogły.

Dzięki za pomoc

1
Pezzzz 19 październik 2012, 14:18

1 odpowiedź

Spróbuj ustawić odwołanie do obiektu COM Biblioteka obiektów programu Microsoft Access 14.0. Wtedy powinno być możliwe zaimportowanie Interop Access.

Imports Microsoft.Office.Interop.Access

Jednak naprawdę polecam rozważenie przejścia na ADO.NET. Jest zupełnie inny niż DAO czy ADO (klasyczny), ale jest też znacznie bardziej wytrzymały i elastyczny.

3
HK1 19 październik 2012, 19:19