U kunt in Office Access 2003 of in Access 2002 in tabellen die aan een Excel-werkboek zijn gekoppeld, geen gegevens wijzigen, geen gegevens aan deze tabellen toevoegen of gegevens uit deze tabellen verwijderen

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 904953 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Symptomen

In Microsoft Office Access 2003 of in Microsoft Access 2002 kunt u geen gegevens wijzigen, toevoegen of verwijderen die deel uitmaken van tabellen die zijn gekoppeld aan een werkmap van Microsoft Excel.

Dit probleem kan ook onder de volgende omstandigheden optreden:
  • U stelt een query samen om gegevens op te vragen uit tabellen die zijn gekoppeld aan een Excel-werkmap.
  • U stelt een formulier samen om gegevens op te vragen uit tabellen die zijn gekoppeld aan een Excel-werkmap.
  • U gebruikt DAO of ADO om tabellen die zijn gekoppeld aan een Excel-werkmap via programmacode bij te werken.
Het volgende bericht wordt weergegeven wanneer u een query uitvoert om records in een gekoppelde Excel-werkmap bij te werken:
Bewerking moet worden uitgevoerd op een query die kan worden bijgewerkt
Wanneer u DAO gebruikt om via programmacode tabellen bij te werken die zijn gekoppeld aan een Excel-werkmap, verschijnt een bericht met de volgende strekking:
Runtimefout '3027' Update kan niet worden uitgevoerd. Database of object is Alleen-lezen.
Wanneer u probeert de gekoppelde gegevens bij te werken met ADO, is de tekst van het bericht hetzelfde, maar heeft het foutnummer de volgende notatie:
-2147217911 (80040e09)
Wanneer u een query uitvoert om records in te voegen in een Excel-werkmap, wordt het volgende foutbericht weergegeven, zelfs als de Excel-werkmap niet aan een Access-database is gekoppeld:
Bewerking moet worden uitgevoerd op een query die kan worden bijgewerkt

Oorzaak

Oorzaken van dit probleem zijn:
  • U hebt Microsoft Office 2003 Service Pack 2 (SP2) geïnstalleerd of een update voor Access 2003 die is uitgebracht na Office 2003 SP2.

    Klik voor meer informatie over Microsoft Office 2003 Service Pack 2 op het volgende artikelnummer in de Microsoft Knowledge Base:
    887616Beschrijving van Office 2003 Service Pack 2
  • De update voor Access 2002 (KB904018) van 18 oktober 2005 is geïnstalleerd.

    Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over de update voor Access 2002 (KB904018):
    904018Beschrijving van de update voor Access 2002 van 18 oktober 2005
  • U hebt een Access runtime-toepassing met daarin Microsoft Office 2003 Service Pack 2 (SP2) geïnstalleerd, een update voor Access 2003 die na Office 2003 SP2 is uitgebracht of de update voor Access 2002 (KB904018) van 18 oktober 2005 of later.
    Klik voor meer informatie over het opnemen van Office-updatebestanden in een runtime-toepassing van Access op het volgende artikelnummer in de Microsoft Knowledge Base:
    916176Wanneer u een installatiepakket maakt voor een toepassing in Access 2003 of Access 2002, gebruikt de wizard de runtimebestanden uit de releaseversie van Access

Workaround

Ga op een van de volgende manieren te werk om dit probleem te voorkomen:

Methode 1: Microsoft Excel gebruiken

Open de gekoppelde Excel-werkmap in Microsoft Excel en breng vervolgens de wijzigingen aan in de werkmap. Sla de wijzigingen op als u klaar bent en sluit de werkmap.

Methode 2: Access 2003 of Access 2002 gebruiken

Importeer de gekoppelde Excel-werkmap in Access en breng vervolgens de wijzigingen aan in de gegevens. Sla de wijzigingen op en exporteer de gegevens naar een XLS-bestand van Excel.

Voer de volgende code uit in Access om de tabel van Access naar Excel te exporteren.
Public Sub WorkArounds()
On Error GoTo Leave

    Dim strSQL, SQL As String
    Dim Db As ADODB.Connection
    Set Db = New ADODB.Connection
    Db.CursorLocation = adUseClient
    Db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=<PadAccess>"
    SQL = "<Mijnquery>"
    CopyRecordSetToXL SQL, Db
    Db.Close
    MsgBox "Exporteren van gegevens uit Access naar Excel-bestand is geslaagd.", vbInformation, "Exporteren geslaagd."
    Exit Sub
Leave:
        MsgBox Err.Description, vbCritical, "Fout"
        Exit Sub
End Sub

Private Sub CopyRecordSetToXL(SQL As String, con As ADODB.Connection)
    Dim rs As New ADODB.Recordset
    Dim x
    Dim i As Integer, y As Integer
    Dim xlApp As Excel.Application
    Dim xlwbBook As Excel.Workbook, xlwbAddin As Excel.Workbook
    Dim xlwsSheet As Excel.Worksheet
    Dim rnData As Excel.Range
    Dim stFile As String, stAddin As String
    Dim rng As Range
    stFile = "<PadExcel>"
    'Een nieuwe sessie starten met het COM-Object Excel.exe.
    Set objXLApp = New Excel.Application
    Set xlwbBook = xlApp.Workbooks.Open(stFile)
    Set xlwsSheet = xlwbBook.Worksheets("<Werkbladen>")
    xlwsSheet.Activate
    'De eerste cel ophalen om de gegevens in te voeren.
    xlwsSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
    y = xlApp.ActiveCell.Column - 1
    xlApp.ActiveCell.Offset(1, -y).Select
    x = xlwsSheet.Application.ActiveCell.Cells.Address
    'De recordset openen op basis van de SQL-query en de gegevens opslaan in het Excel-werkblad.
    rs.CursorLocation = adUseClient
    If rs.State = adStateOpen Then
        rs.Close
    End If
    rs.Open SQL, con
    If rs.RecordCount > 0 Then
        rs.MoveFirst
        x = Replace(x, "$", "")
        y = Mid(x, 2)
        Set rng = xlwsSheet.Range(x)
        xlwsSheet.Range(x).CopyFromRecordset rs
    End If
    xlwbBook.Close True
    xlApp.Quit
    Set xlwsSheet = Nothing
    Set xlwbBook = Nothing
    Set xlApp = Nothing

End Sub
Opmerking In dit codevoorbeeld moet u de volgende tijdelijke aanduidingen vervangen:
  • <PadAccess>
  • <PadExcel>
  • <Mijnquery>
    <Mijnquery> is een tijdelijke aanduiding voor de query die u uitvoert op de tabellen in de Access-database. Het resultaat van de query wordt geëxporteerd naar de Excel-werkmap.
  • <Werkbladen>
    <Werkbladen> is een tijdelijke aanduiding voor het werkblad in Excel waarnaar u de resultaten wilt exporteren.
Als u dit codevoorbeeld wilt uitvoeren, drukt u op Ctrl+G om het venster Direct te openen, typt u WorkArounds en drukt u op Enter.

Meer informatie

Vanwege juridische aspecten is het niet meer mogelijk om in Access 2003 en Access 2002 gegevens in gekoppelde tabellen te wijzigen die verwijzen naar een bereik in een Excel-werkmap. Als u wijzigingen echter direct doorvoert in de Excel-werkmap, verschijnen de wijzigingen in de gekoppelde tabel in Access.

Eigenschappen

Artikel ID: 904953 - Laatste beoordeling: woensdag 11 oktober 2006 - Wijziging: 5.1
De informatie in dit artikel is van toepassing op:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Access 2002 Runtime
  • Microsoft Office Access 2003 Runtime
Trefwoorden: 
kbexpertiseadvanced kbdatabase kbtshoot kbprb KB904953

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com