Olet tällä hetkellä offline-tilassa. Internet-yhteyden muodostamista uudelleen odotetaan

Excel-työkirjaan linkitettyjen taulukoiden tietoja ei voi muuttaa, lisätä tai poistaa Office Access 2007:ssä, Office Access 2003:ssa tai Access 2002:ssa

Office 2003:n tuki on päättynyt

Microsoft lopetti Office 2003:n tuen 8.4.2014. Tämä muutos on vaikuttanut ohjelmistopäivityksiin ja suojausasetuksiin. Lue lisätietoja muutoksen vaikutuksesta ja suojauksen varmistamisesta.

Oire
Microsoft Excel -työkirjaan linkitettyjen taulukoiden tietoja ei voi muuttaa, lisätä tai poistaa Microsoft Office Access 2007:ssä, Microsoft Office Access 2003:ssa tai Microsoft Access 2002:ssa.

Lisäksi tämä ongelma saattaa ilmetä, jos jokin seuraavista ehdoista toteutuu:
  • Muodostat kyselyn, joka noutaa tietoja Excel-työkirjaan linkitetyistä taulukoista.
  • Luot lomakkeen, joka käyttää Excel-työkirjaan linkitettyjen taulukoiden tietoja.
  • Päivität Excel-työkirjaan linkitetyt taulukot ohjelmallisesti DAO- tai ADO-objektien avulla.
Näyttöön tulee seuraavankaltainen sanoma, kun teet kyselyn linkitetyn Excel-työkirjan tietueiden päivittämistä varten:
Toiminnon on käytettävä päivitettävää kyselyä
Näyttöön tulee seuraavankaltainen sanoma, kun päivität Excel-työkirjaan linkitetyt taulukot ohjelmallisesti DAO-objektien avulla:
Suorituksenaikainen virhe 3027 Päivitystä ei voi suorittaa. Tietokanta tai objekti on vain luku -muotoa.
Kun yrität päivittää linkitetyt tiedot ADO-objektissa, sanoma on sama, mutta virheen numero saattaa olla seuraavankaltainen:
-2147217911 (80040e09)
Kun yrität lisätä tietueita Excel-työkirjaan suorittamalla kyselyn, seuraava virhesanoma tulee näyttöön, vaikka Excel-työkirja ei ole linkitetty Access-tietokantaan:
Toiminnon on käytettävä päivitettävää kyselyä
Syy
Tämä odotettu toiminta tapahtuu, kun jompikumpi seuraavista ehdoista toteutuu:
  • Käytössä on Office Access 2007.
  • Olet asentanut Microsoft Office 2003 Service Pack 2:n (SP2) tai jonkin Access 2003 -päivityksen, joka on julkaistu Office 2003 SP2:n jälkeen.

    Saat lisätietoja Microsoft Office 2003 Service Pack 2 -paketista napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
    887616 Office 2003 Service Pack 2:n kuvaus
  • Olet asentanut 18.10.2005 päivätyn Access 2002 -päivityksen KB904018.

    Saat lisätietoja Access 2002 -päivityksestä KB904018 napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
    904018 Access 2002 -päivityksen 18.10.2005 kuvaus
  • Olet asentanut Access-suorituksenaikaisuussovelluksen, joka sisältää Microsoft Office 2003 Service Pack 2:n (SP2), jonkin Office 2003 SP2:n jälkeen julkaistun Access 2003 -päivityksen tai 18.10.2005 (tai myöhemmin) päivätyn Access 2002 -päivityksen KB904018.
    Saat lisätietoja Office-päivitystiedostojen sisällyttämisestä Access-suorituksenaikaisuussovellukseen napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
    916176 Ohjattu toiminto käyttää Access-julkaisuversioon sisältyviä suorituksenaikaisuustiedostoja, kun sovellukselle luodaan päivityspaketti Access 2003:ssa tai Access 2002:ssa (tämä artikkeli saattaa olla englanninkielinen)
Workaround
Voit kiertää tämän odotetun toiminnan jommallakummalla seuraavista tavoista.

Tapa 1: Microsoft Excelin käyttäminen

Avaa linkitetty Excel-työkirja Microsoft Excelissä ja tee muutoksesi työkirjaan. Kun olet tehnyt muutokset, tallenna muutokset ja sulje työkirja.

Tapa 2: Office Access 2007:n, Access 2003:n tai Access 2002:n käyttäminen

Tuo linkitetty Excel-työkirja Accessiin ja tee sitten haluamasi muutokset tietoihin. Kun olet tehnyt muutokset, vie tiedot Excelin .xls-tiedostona.

Voit viedä taulukon Accessista Exceliin suorittamalla seuraavan koodin Accessissa.
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=<Access-polku>"    'Huomautus: Käytä Office Access 2007:ssä seuraavaa koodiriviä:    'Db.Open "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=<AccessPath>"    SQL = "<OmaKysely>"    CopyRecordSetToXL SQL, Db    Db.Close    MsgBox "Access on vienyt tiedot Excel-tiedostoon.", vbInformation, "Vienti onnistui."    Exit SubLeave:        MsgBox Err.Description, vbCritical, "Virhe"        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 = "<Excel-polku>"    'Käynnistä uusi istunto COM-objektin Excel.exe kanssa.    Set xlApp = New Excel.Application    Set xlwbBook = xlApp.Workbooks.Open(stFile)    Set xlwsSheet = xlwbBook.Worksheets("<Laskentataulukot>")    xlwsSheet.Activate    'Ensimmäinen solu tietojen syöttämistä varten.    xlwsSheet.Cells.SpecialCells(xlCellTypeLastCell).Select    y = xlApp.ActiveCell.Column - 1    xlApp.ActiveCell.Offset(1, -y).Select    x = xlwsSheet.Application.ActiveCell.Cells.Address    'Avataan tietuejoukkoa SQL-kyselyn perusteella ja tallennetaan tiedot Excel-laskentataulukkoon.    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 = NothingEnd Sub
Huomautus Korvaa tässä mallikoodissa seuraavat paikkamerkit:
  • <Access-polku>
  • <Excel-polku>
  • <OmaKysely>
    <OmaKysely> on paikkamerkki kyselylle, jonka suoritat Access-tietokannan taulukoille. Kyselyn tulos viedään Excel-työkirjaan.
  • <Laskentataulukot>
    <Laskentataulukot> on paikkamerkki Excelin laskentataulukolle, johon tulokset viedään.
Voit suorittaa tämän mallikoodin avaamalla välittömän suoritusruudun painamalla CTRL+G, kirjoittamalla Kiertotavat ja painamalla sitten ENTER-näppäintä.
Enemmän tietoa
Microsoft on oikeudellisista syistä poistanut Access 2003:sta ja Access 2002:sta toiminnon, joka antaa käyttäjien muuttaa Excel-työkirjan alueeseen viittaavien linkitettyjen taulukkojen tietoja. Kun teet muutoksia suoraan Excel-työkirjaan, muutokset kuitenkin näkyvät linkitetyssä taulukossa Accessissa.
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
Ominaisuudet

Artikkelin tunnus: 904953 – Viimeisin tarkistus: 02/21/2007 17:47:40 – Versio: 6.3

Microsoft Office Access 2007, 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

  • kbexpertiseadvanced kbdatabase kbtshoot kbprb KB904953
Palaute