Jump to content

Faq/Base/Hoe verbinding te maken met een Microsoft Access database

From The Document Foundation Wiki
< Faq | Base
This page is a translated version of the page Faq/Base/How to connect to a Microsoft Access database and the translation is 100% complete.


In dit artikel wordt beschreven hoe u verbinding maakt met Microsoft Access-databasebestanden.

Hoewel de meeste opties alleen op Windows gebruikt kunnen worden, wordt er ook een optie beschreven voor het verbinden op Linux en andere besturingssystemen.

Om verbinding te maken met Access-databasebestanden zijn de volgende opties beschikbaar:

  • ADO (alleen Windows)
  • Microsoft Access (alleen Windows)
  • Microsoft Access 2007 (alleen Windows)
  • ODBC
  • JDBC

Hierna zullen we zien hoe u elk van de volgende verbindingen kunt gebruiken

Voorwaarden in Windows

Hoewel in oudere versies van Windows (tot en met XP) de benodigde gegevensprovider waarschijnlijk al geïnstalleerd was, is er in nieuwere versies van Windows geen gegevensprovider geïnstalleerd. De gegevensprovider is een Microsoft-component en wordt niet door LibreOffice ontwikkeld of aangepast. Hij wordt alleen gebruikt als intermediair tussen LibreOffice en het Microsoft Access-databasebestand.

De MDB-bestandstypen die gebruikt werden in versies van Access 97 (Office 8) tot en met Access 2003 (Office 12) vereisten de installatie van de "Jet 4.0"-gegevensprovider (Microsoft.Jet.OLEDB.4.0 provider). Vanaf Access 2003 gebruikt MS Access een nieuw databasebestandstype, type ACCDB, dat gebruikmaakt van de Access Database Engine (ACE)-provider (Microsoft.ACE.OLEDB.12.0 provider).

Tot en met LibreOffice versie 24.8 wordt de Microsoft Access-optie gebruikt om verbinding te maken met MDB-bestanden. Zoals we hebben gezien, is hiervoor de Microsoft.Jet.OLEDB.4.0-provider vereist, die al jaren niet meer beschikbaar is om te downloaden op de webpagina's van Microsoft, waardoor deze verbinding niet werkt.

De optie Microsoft Access 2007, die bestond tot en met LibreOffice 24.8, wordt gebruikt om verbinding te maken met ACCDB-bestanden en vereist, zoals hierboven vermeld, de provider Microsoft.ACE.OLEDB.12.0.

Vanaf LibreOffice versie 24.8 is er alleen een Microsoft Access-optie die de Microsoft.ACE.OLEDB.12.0-provider gebruikt voor zowel MDB- als ACCDB-bestandsverbindingen.

Voor ADO-verbindingen is ook een Microsoft-provider nodig om verbinding te maken met Microsoft Access-bestanden.

Kortom, om verbinding te maken met Microsoft Access-bestanden via de Windows-opties, moet u de juiste provider installeren. Door nu de Microsoft Access Database Engine 2016 Redistributable te downloaden en te installeren via https://www.microsoft.com/en-us/download/details.aspx?id=54920 , heeft u Microsoft.ACE.OLEDB.12.0 (die wordt gebruikt door LibreOffice), Microsoft.ACE.OLEDB.16.0 en de ODBC-driver.

Verbinding instellen (Wizard Stap 1)

Start de wizard met Bestand ▸ Nieuw ▸ Database of gebruik LibreOffice Base in het Windows Start menu, of gebruik item Database in LibreOffice Quickstarter.

Selecteer in de eerste stap Met een bestaande database verbinden. Open de vervolgkeuzelijst. U kunt o.a. Microsoft Access, ADO, ODBC of JDBC gebruiken. Elk van de opties heeft de volgende kenmerken:

Microsoft Access (tot en met LibreOffice versie 24.8)

Zoals we hebben gezien in de Windows-voorwaarden, kunt u geen verbinding maken met MDB-bestanden als u niet beschikt over de Microsoft.Jet.OLEDB.4.0-provider. Zelfs als u wel over de provider beschikt, kunt u deze verbinding niet gebruiken als de database met een wachtwoord is beveiligd. In dat geval moet u de ADO-verbinding gebruiken.

Microsoft Access 2007 (tot en met LibreOffice versie 24.8)

Deze optie wordt gebruikt om te verbinden met ACCDB database-bestanden.

Microsoft Access (LibreOffice versie 24.8 en hoger)

Vanaf LibreOffice 24.8 wordt de Microsoft Access-verbinding gebruikt om toegang te krijgen tot zowel MDB- als ACCDB-bestanden.

ADO

Met de ADO-verbinding kunt u een van de geïnstalleerde providers gebruiken om verbindingen te maken met Access-bestanden. U kunt ook andere verbindingsopties configureren die niet kunnen worden geconfigureerd met de vorige opties, zoals het instellen van de gebruikersnaam en het wachtwoord om verbinding te maken met beveiligde databases.

ODBC

De verbinding met de database wordt tot stand gebracht via een ODBC-stuurprogramma. De configuratie van het stuurprogramma gebeurt op het niveau van het besturingssysteem en is onafhankelijk van LibreOffice, dat alleen de eerder geconfigureerde stuurprogramma's kan gebruiken.

JDBC

De JDBC-verbinding vereist een stuurprogramma dat eerder moet worden geïnstalleerd, hoewel de uiteindelijke configuratie wordt gedaan vanuit LibreOffice. Voor dit type verbinding moet Java op de computer zijn geïnstalleerd. We zullen dit verband later in meer detail zien in een andere beschrijving.

De volgende stappen zijn afhankelijk van het gekozen type verbinding. Wanneer de verbinding tot stand is gebracht, ziet u de door u gekozen verbinding aan de linkerkant in de statusbalk.

Verbinding instellen (Wizard Stap 2)

Microsoft Access en Microsoft Access 2007

Typ het pad naar de database of klik op de knop Bladeren om naar het juiste bestand te navigeren. Als u op Volgende klikt, gaat u naar de laatste stap van de wizard (zie De verbinding configureren (stap 4 van de wizard)), hoewel het in dit geval stap 3 is.

ADO

Voer de volledige verbindingsreeks in om toegang te krijgen tot het databasebestand. De verbindingsreeks is niet het bestandspad.

Genereren ADO verbindingsreeks

Als u de verbindingsreeks niet kent, klikt u op de knop Bladeren en er wordt een wizard geopend voor de configuratie van de gegevenskoppeling, waar u de provider, het gegevensbestand waarmee u verbinding wilt maken, de gebruiker en het wachtwoord voor de verbinding en andere geavanceerde opties kunt selecteren. Wanneer u het dialoogvenster sluit, wordt de gegenereerde verbindingsreeks weergegeven.

Voor Access-bestanden (MDB en ACCDB) kunt u de Microsoft Office 12.0 Access Database Engine OLE DB Provider of de Microsoft Office 16.0 Access Database Engine OLE DB Provider selecteren.

ODBC

Als u een ODBC-verbinding tot stand wilt brengen, moet u in deze tweede stap van de wizard de naam van de gegevensbron opgeven. U kunt ook op de knop Bladeren klikken en u krijgt een lijst met geregistreerde gegevensbronnen.

Als u uw database niet heeft geregistreerd, moet u dit doen met de Windows-applicatie ODBC Data Sources. Met deze applicatie kunt u een verbinding toevoegen met de geïnstalleerde ODBC-stuurprogramma's. In ons geval moet u de Microsoft Access Driver (*.mdb, *.accdb) selecteren, eenmaal geselecteerd, door op de knop Voltooien te klikken verschijnt er een dialoogvenster om de configuratie te voltooien.

Als de database waarmee we verbinding maken met een wachtwoord is beveiligd, kan deze worden geconfigureerd met behulp van de knop Geavanceerd van het dialoogvenster voor verbindingsconfiguratie, maar er moet worden opgemerkt dat het wachtwoord leesbaar is in het ODBC-register.

De ODBC-driver voor de Microsoft Access-verbinding wordt samen met de ADO-providers geïnstalleerd die we in de voorwaarden zagen.

Verbinding instellen (Wizard Stap 3)

In deze stap worden de wachtwoordopties voor de verschillende verbindingstypen geconfigureerd.

ADO

Laat de velden leeg.

ODBC

Als de database met een wachtwoord is beveiligd en u deze niet hebt getypt in de ODBC-verbindingsinstellingen, schakelt u de optie Wachtwoord vereist in.

MDB-bestanden

Als de database beveiligd is, typt u bij Gebruikersnaam Admin in of de gebruikersnaam als het een andere is. Als het niet beveiligd is, laat het veld dan leeg.

ACCDB-bestanden

Dit bestandstype maakt geen gebruik van gebruikers, dus laat het veld Gebruikersnaam leeg.

Controleer indien nodig de verbinding. Klik op Volgende

Opslaan en vervolg (Wizard stap 4)

Als u de gegevensbron in andere LibreOffice-modules wilt gebruiken, bijvoorbeeld voor mail merge, vink dan de optie Ja, registreer de database voor mij aan. Nadat u op Voltooien heeft geklikt, wordt u gevraagd om de naam van het ODB-bestand en de map waarin het bestand moet worden opgeslagen. U kunt nu met de database werken.

JDBC-verbindingen (Windows, Linux en andere besturingssystemen)

De JDBC-verbinding is de enige van de verbindingen met Microsoft Access die kan worden gebruikt op niet-Windows-besturingssystemen. Theoretisch zou u ook ODBC-verbindingen kunnen gebruiken, maar ik ben bang dat er geen gratis stuurprogramma is voor niet-Windows-systemen.

De JDBC-verbinding vereist, zoals eerder vermeld, dat het systeem Java heeft geïnstalleerd. Daarnaast is een geschikt JDBC-stuurprogramma vereist voor Microsoft Access-verbindingen. Er is in ieder geval een gratis opensource-stuurprogramma, UCanAccess, die kan worden gedownload van https://ucanaccess.sourceforge.net/site.html. Omdat het een puur Java-stuurprogramma is, kan het worden gebruikt op elk besturingssysteem dat Java kan installeren.

Voorbereiding van de computer

Zoals hierboven vermeld, moet Java op de computer zijn geïnstalleerd.

Bovendien moet het stuurprogramma UcanAccess worden gedownload en uitgepakt naar een geschikte locatie. Bij het uitpakken van het bestand moet de mappenstructuur van het gecomprimeerde bestand worden gerespecteerd.

LibreOffice voorbereiden

  • Open LibreOffice in het Start Center of start een van de applicaties (behalve Base of Math).
  • Selecteer Extra ▸ Opties ▸ LibreOffice ▸ Geavanceerd, vink onder Java opties de optie Een Java runtime environment gebruiken aan en selecteer onder Al geïnstalleerde Java runtime environments (JRE's) degene die u wilt gebruiken.
  • Zonder de pagina met Geavanceerde opties te verlaten, klikt u op de knop Klassepad.
  • Selecteer in het volgende dialoogvenster de knop Map toevoegen en navigeer naar de map waar u het stuurprogramma heeft uitgepakt, selecteer in deze map de map loader en daarin het bestand ucanload.jar. Klik op Openen en sluit vervolgens alle dialogen met de knop OK.
  • Start LibreOffice opnieuw op om de configuratie van kracht te laten worden.

Verbinden

  • Open Base
  • Selecteer in stap 1 van de wizard Met een bestaande database verbinden en selecteer in de vervolgkeuzelijst JDBC. Klik op Volgende.
  • In stap 2, in het tekstvak waar staat om de verbindingsreeks op te geven, na jdbc: typ ucanaccess// en het volledige pad naar de database, maar hoewel in Windows de backslash (\) hier wordt gebruikt, moet deze worden vervangen door slash (/) bijvoorbeeld jdbc:ucanaccess://C:/Users/jc/Desktop/Access/Database1.accdb of jdbc:ucanaccess:///home/jc/Desktop/Access/Database1.accdb
  • In datzelfde dialoogvenster in het tekstvak JDBC Driver Class moet u typen net.ucanaccess.jdbc.UcanloadDriver (De naam van het stuurprogramma is hoofdlettergevoelig, dus u moet deze typen zoals weergegeven). U kunt de knop Test Class gebruiken om te controleren of u de naam correct hebt gespeld en of het klassepad correct is ingesteld. Klik op Volgende.
  • In het volgende dialoogvenster kunt u via de knop Verbinding testen controleren of alles goed is ingesteld. Laat de gebruikersnaam leeg en vink de optie Wachtwoord vereist niet aan, omdat dit stuurprogramma geen toegang geeft tot beveiligde databases. Klik op Volgende.
  • Configureer in het volgende dialoogvenster of u de database al dan niet wilt registreren. Klik op Voltooien, het dialoogvenster verschijnt om een naam te geven aan het gemaakte ODB-bestand en selecteer de map waarin het wordt opgeslagen.

Eigenschappen van de verbindingen

Wanneer u vanuit LibreOffice verbinding maakt met een Microsoft Access-database, zijn noch formulieren noch rapporten toegankelijk en worden bestaande query's geconverteerd naar weergaven.

De toegang tot tabellen is afhankelijk van het type Access-bestand en het type verbinding dat wordt gebruikt.

Toegang tot de tabellen

MDB-bestanden

Zowel in de verbindingen die tot stand zijn gebracht via Microsoft Access als ADO-opties, kunt u de inhoud van de tabellen wijzigen en records toevoegen en verwijderen. U kunt geen tabellen toevoegen of de structuur van bestaande tabellen wijzigen.

In verbindingen die met ODBC tot stand zijn gebracht, kunt u records toevoegen, bewerken en verwijderen. Tabellen kunnen worden toegevoegd, maar de structuur van bestaande tabellen kan niet worden gewijzigd.

In de JDBC-verbindingen kunt u de gegevens zien en blijkbaar kunt u deze bijwerken, maar het geeft fouten in elk van de bewerkingen.

ACCDB-bestanden

LibreOffice versies ouder dan 24.8

Zowel in verbindingen die met Microsoft Access 2007 tot stand zijn gebracht als in verbindingen die met ADO tot stand zijn gebracht, kunnen gegevens wel worden ingezien, maar niet worden gewijzigd. Het is ook niet mogelijk om tabellen toe te voegen of de structuur van bestaande tabellen aan te passen.

In de koppelingen die met ODBC tot stand zijn gebracht, kunt u records toevoegen, bewerken en verwijderen. Tabellen kunnen worden toegevoegd, maar de structuur van bestaande tabellen kan niet worden gewijzigd. In JDBC-verbindingen kunt u de gegevens zien en blijkbaar kunt u deze bijwerken, maar het geeft fouten in elk van de bewerkingen.

Versie 24.8 van LibreOffice en latere versies

In dit geval zijn zowel in de verbindingen die tot stand zijn gebracht met Microsoft Access als die tot stand zijn gebracht met ADO, de gegevens te zien en kunnen ze ook worden gewijzigd, maar het is niet mogelijk om tabellen toe te voegen of de structuur van de bestaande tabellen te wijzigen.

ODBC- en JDBC-verbindingen werken hetzelfde als in LibreOffice-versies vóór 24.8.


Zie ook

https://wiki.openoffice.org/wiki/MSA-Base_Faq

https://developer.microsoft.com/



Auteur: Juan C. Sanz 9 maart 2025. Gebaseerd op het werk van Regina.

Aarzel niet om dit document te verbeteren en aan te passen aan nieuwe versies.