Du er offline. Venter på, at der oprettes forbindelse til internettet igen

Det er ikke muligt at ændre, tilføje eller slette data i tabeller i Office Access 2007, Office Access 2003 eller Access 2002, der er kædet sammen med en Excel-projektmappe

Support til Office 2003 er ophørt

Microsoft ophørte med at yde support til Office 2003 den 8. april 2014. Denne ændring har haft indflydelse på dine softwareopdateringer og sikkerhedsindstillinger. Se, hvad det betyder for dig, og hvordan du kan forblive beskyttet.

Symptomer
I Microsoft Office Access 2007, Microsoft Office Access 2003 eller Microsoft Access 2002 er det ikke muligt at ændre, tilføje eller slette data i tabeller, der er kædet sammen med en Excel-projektmappe.

Du kan også opleve dette problem, hvis en af følgende betingelser gælder:
  • Du opretter en forespørgsel for at hente data fra tabeller, der er kædet sammen med en Excel-projektmappe.
  • Du opretter en formular, der henter data fra tabeller, der er kædet sammen med en Excel-projektmappe.
  • Du bruger DAO eller ADO til at opdatere tabeller, der er kædet sammen med en Excel-projektmappe.
Du får vist følgende meddelelse, når du udfører en forespørgsel for at opdatere poster i en sammenkædet Excel-projektmappe:
Handlingen skal bruge en opdaterbar forespørgsel
Du får vist følgende meddelelse, når du bruger DAO eller ADO til at opdatere tabeller, der er kædet sammen med en Excel-projektmappe:
Kørselsfejl '3027' Databasen eller objektet er skrivebeskyttet og kan ikke opdateres.
Når du forsøger at opdater de sammenkædede data i ADO, er meddelelsen den samme, men fejlnummeret kan ligne følgende:
-2147217911 (80040e09)
Når du kører en forespørgsel for at indsætte poster i en Excel-projektmappen, får du vist følgende fejlmeddelelse, selvom Excel-projektmappen ikke er kædet sammen med en Access-database:
Handlingen skal bruge en opdaterbar forespørgsel
Årsag
Denne tilsigtede funktionsmåde sker, når en af følgende betingelser gælder:
  • Du bruger Office Access 2007.
  • Du har installeret Microsoft Office 2003 Service Pack 2 (SP2) eller Access 2003-opdateringer, der blev udgivet efter Office 2003 SP2.

    Yderligere oplysninger om Microsoft Office 2003 Service Pack 2 finder du ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
    887616 Beskrivelse af Office 2003 Service Pack 2
  • Du har installeret opdateringen til Access 2002 (KB904018), der er dateret 18.10.05.

    Yderligere oplysninger om opdateringen til Access 2002 (KB904018) finder du ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
    904018 Beskrivelse af opdateringen til Access 2002: 18. oktober 2005
  • Du har installeret et Access-runtime-program, der indeholder Microsoft Office 2003 Service Pack 2 (SP2), Access 2003-opdateringer, der blev udgivet efter Office 2003 SP2, eller opdateringen til Access 2002 (KB904018), der er dateret 18.10.05.
    Yderligere oplysninger om, hvordan Office-opdateringsfiler medtages i et Access-runtime-program, finder du ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
    916176 Guiden bruger de runtime-filer, der findes i den udgivne version af Access, når du opretter en installationspakke for et program i Access 2003 eller Access 2002. Artiklen er evt. på engelsk.
Workaround
Du kan omgå denne forventede funktionsmåde med en af følgende metoder.

Metode 1: Brug Microsoft Excel

Åbn den sammenkædede Excel-projektmappe i Microsoft Excel, og foretag de ønskede ændringer i projektmappen. Når du har udført ændringerne, skal du gemme dem og lukke projektmappen.

Metode 2: Brug Office Access 2007, Access 2003 eller Access 2002

Importer den Excel-projektmappe, der er oprettet kæde til, i Access, og foretag derefter ændringerne af dataene. Når du har udført ændringerne, skal du eksportere dataene som en Excel .xls-fil.

Kør følgende programkode i Access for at eksportere tabellen fra Access til Excel.
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=<AccessSti>"    'Note: In Office Access 2007, use the following line of code:    'Db.Open "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=<AccessPath>"    SQL = "<MinForespørgsel>"    CopyRecordSetToXL SQL, Db    Db.Close    MsgBox "Access har eksporteret data til Excel-filen.", vbInformation, "Eksport fuldført."    Exit SubLeave:        MsgBox Err.Description, vbCritical, "Fejl"        Exit SubEnd SubPrivate 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 = "<ExcelSti>"    'Starter en ny session med COM-objektet Excel.exe.    Set xlApp = New Excel.Application    Set xlwbBook = xlApp.Workbooks.Open(stFile)    Set xlwsSheet = xlwbBook.Worksheets("<Regneark>")    xlwsSheet.Activate    'Henter den første celle til datainput.    xlwsSheet.Cells.SpecialCells(xlCellTypeLastCell).Select    y = xlApp.ActiveCell.Column - 1    xlApp.ActiveCell.Offset(1, -y).Select    x = xlwsSheet.Application.ActiveCell.Cells.Address    'Åbner postsættet baseret på SQL-forespørgslen og gemmer data i Excel-regnearket.    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 objfileExport = Nothing    Set xlwbBook = Nothing    Set xlApp = NothingEnd Sub
Bemærk! I denne eksempelkode skal du udskifte følgende pladsholdere:
  • <AccessSti>
  • <ExcelSti>
  • <MinForespørgsel>
    <MinForespørgsel> er pladsholder for den forespørgsel, som du kører mod tabellerne i Access-databasen. Resultatet af forespørgslen eksporteres til Excel-projektmappen.
  • <Regneark>
    <Regneark> er pladsholder for det Excel-regneark, du vil have resultatet eksporteret til.
Hvis du vil køre denne eksempelkode, skal du trykke på CTRL+G for at åbne vinduet Brugerudtryk, skrive Løsning og derefter trykke på ENTER.
Yderligere Information
På grund af juridiske problemer har Microsoft deaktiveret den funktionalitet i Access 2003 og Access 2002, der sætter brugere i stand til at ændre data i sammenkædede tabeller, der peger på et område i en Excel-projektmappe. Men, hvis du foretager ændringerne direkte i Excel-projektmappen, vises de i den sammenkædede tabel i Access.
edit access2003 access2k3 acc2003 acc2k3 access2002 access2k2 accessxp acc2002 acc2k2 accxp excel2003 excel2k3 xl2003 xl2k3 excel2002 excel2k2 excelxp xl2002 xl2k2 xlxp excel2000 excel2k xl2000 xl2k
Egenskaber

Artikel-id: 904953 – Seneste udgave 02/21/2007 17:54:08 – Udgave 6.3

  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard
  • Microsoft Excel 2000 Standard
  • Microsoft Access 2002 Runtime
  • Microsoft Office Access 2003 Runtime
  • kbexpertiseadvanced kbdatabase kbtshoot kbprb KB904953
Feedback
s">