Je bent nu offline; er wordt gewacht tot er weer een internetverbinding is

PRB: Foutbericht 'Onbekende database-indeling' wanneer u een upgrade naar Access 2000 of 2002 uitvoert

Dit artikel is eerder gepubliceerd onder NL238401
Symptomen
Wanneer u toegang probeert te krijgen tot een Access 2000- of een Access 2002-database, treedt een van de volgende fouten op in het Visual Basic-programma:

Als u Microsoft ActiveX Data Objects (ADO) (of ADO-gegevensbesturing) gebruikt, wordt het volgende foutbericht weergegeven:
Runtimefout -2147467259 Onbekende database-indeling XXX
Als u Data Access Objects (DAO) (of de algemene DAO-gegevensbesturing) gebruikt, wordt het volgende foutbericht weergegeven:
Runtimefout 3343 Onbekende database-indeling XXX
Oorzaak
Access 2000 en Access 2002 gebruiken de Jet 4.0-engine. Deze engine maakt databasebestanden met de indeling Jet 4.0. Deze indeling wordt niet herkend door Jet 3.5-componenten.
  • Als u met ADO werkt, treedt fout -2147467259 op wanneer u via de provider Microsoft.Jet.OLEDB.3.51 verbinding probeert te maken met een Access 2000- of Access 2002-database.
  • Als u met DAO werkt, treedt fout 3343 op wanneer u de objectbibliotheek Microsoft DAO 3.51 gebruikt.
  • De generieke gegevensbesturing van DAO werkt niet in combinatie met Access 2000- of Access 2002-databases en resulteert altijd in fout 3343, tenzij u deze gebruikt volgens de aanwijzingen in de sectie 'Oplossing' van dit artikel. Aangezien deze besturing gebaseerd is op Jet 3.51, worden alleen databases in Jet 3.51-indeling (of in een eerdere indeling) herkend.
Oplossing
U kunt dit probleem op een van de volgende manieren oplossen:
  • Installeer Visual Studio Service Pack 4 of hoger. (Als u gegevensbesturing gebruikt, wijzigt u de eigenschap Verbinden in Access 2000.)
  • Voor ADO (of ADO-gegevensbesturing): gebruik de provider Microsoft.Jet.OLEDB.4.0.
  • Voor DAO: voeg een verwijzing toe naar de Microsoft-objectbibliotheek DAO 3.6.
  • Als u de generieke gegevensbesturing gebruikt, moet u een DAO 3.6-recordset openen. Wijs deze recordset toe aan de bron van de gegevensbesturing. Hiertoe gaat u als volgt te werk:
    Option ExplicitPrivate daoDB36 As DatabasePrivate rs As DAO.RecordsetDim sPath As StringPrivate Sub Form_Load()sPath = _"C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"Set daoDB36 = DBEngine(0).OpenDatabase(sPath)Set rs = daoDB36.OpenRecordset("Customers")Set Data1.Recordset = rsEnd Sub					
  • Dit probleem is verholpen in Visual Basic Service Pack 4. Voor de eigenschap Connect is een nieuwe waarde toegevoegd (Access 2000). Door deze waarde is de DAO-gegevensbesturing in staat om Access 2000-databases te openen.
Status
In Visual Studio 6.0 Service Pack 4 is voor het eerst een correctie aangebracht voor dit probleem.Als u meer informatie wilt over service packs voor Visual Studio, klikt u op de volgende artikelnummers in de Microsoft Knowledge Base:
194022 Info: Visual Studio 6.0 Service Packs: wat, waar, waarom

194295 Procedure: Uitzoeken of er een service pack voor Visual Studio is geïnstalleerd
U kunt het laatste service pack voor Visual Studio downloaden van de volgende Microsoft-website:
Referenties
Als u meer informatie wilt over Jet 4.0, raadpleegt u de documentatie bij Access 2000.

Als u meer informatie wilt over ADO en DAO, raadpleegt u de documentatie bij Visual Basic.

Als u meer informatie wilt over de fout 'Onbekende database-indeling', doorzoekt u de MSDN-bibliotheek van Visual Basic aan de hand van deze fout.
error message -2147467259 3343
Eigenschappen

Artikel-id: 238401 - Laatst bijgewerkt: 12/20/2005 16:39:00 - Revisie: 3.0

  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • kbtophit kbjet kbprb kbctrl kbpubtypekc kbmsccsearch KB238401
Feedback