VB2008 msAccess database laten lezen

Status
Niet open voor verdere reacties.

evertVB

Gebruiker
Lid geworden
6 apr 2009
Berichten
570
Ik probeer MsAccess te benaderen vanuit VB2008.
Hier heb ik voorbeeldcode gevonden:

http://support.microsoft.com/kb/317113

Code:
Dim oAccess As Access.Application

' Start a new instance of Access for Automation:
oAccess = New Access.ApplicationClass()

' Open a database in exclusive mode:
oAccess.OpenCurrentDatabase(filepath:="c:\mydb.mdb", Exclusive:=True)
Maar ik krijg als compileerfout:
Type 'Access.Application' is not defined.

Wat ontbreekt er nog?
 
Heb je de reference naar Access dll wel toegevoegd aan je project ?

Weet niet meer precies de naam van dll en waar je deze kan vinden.

Volgens mij: Microsoft.Office.Interop.Access.dll
 
Ik heb bij Project -> add reference toegevoegd:
Microsoft Access 11.0 object library.
De code die bij mij werkt is:
Code:
        Dim objAccess As New Microsoft.Office.Interop.Access.Application
        With objAccess
            .OpenCurrentDatabase("C:\Documents and Settings\ekarman\My Documents\Persoonlijk\Access en VB\Produkten.mdb")
            .Visible = True

        End With
Dit heeft als resultaat dat Access zichtbaar opent.

Dit vind ik al erg veelbelovend.:)

Ik wil natuurlijk ook nog graag data ophalen en in mijn applicatie beschikbaar hebben, queries draaien etc.
Hoe kan ik dat doen?

Bij voorbaat dank :)
 
Laatst bewerkt:
Ik ben hier weer iets verder mee.
De database afsluiten kan als volgt:
Code:
        Dim objAccess As New Microsoft.Office.Interop.Access.Application
        ...
        objAccess.Quit()
Een query draaien kan als volgt:
Code:
        Dim objAccess As New Microsoft.Office.Interop.Access.Application
        ...
        objAccess.DoCmd.RunSQL("DROP TABLE Tbl_Totaalbedrag_per_produkt")
Maar wat ik nu wil is een query draaien die al in de Access database bestaat.
Mijn query binnen de accessdatabase heet "Qry_Totaalbedrag_per_produkt", maar de volgende code
Code:
        Dim objAccess As New Microsoft.Office.Interop.Access.Application
        ...
        objAccess.DoCmd.RunSQL("Qry_Totaalbedrag_per_produkt")
werkt niet.

Hopelijk weet iemand hoe ik dit kan doen??
 
Opgelost:
Code:
        objAccess.DoCmd.OpenQuery("Qry_Totaalbedrag_per_produkt")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan