Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Office Access 2007, Office Access 2003 veya Access 2002'de bir Excel çalışma kitabına bağlantı içeren tablolardaki verileri değiştiremiyor, ekleyemiyor veya silemiyorsunuz

Office 2003 desteği sona erdi

Microsoft, Office 2003 desteğini 8 Nisan 2014'te sona erdirdi. Bu değişiklik yazılım güncelleştirmelerinizi ve güvenlik seçeneklerinizi etkiledi. Bunun sizin için ne anlama geldiğini ve korunmaya nasıl devam edebileceğinizi öğrenin.

Belirtiler
Microsoft Office Access 2007, Microsoft Office Access 2003 veya Microsoft Access 2002'de, bir Microsoft Excel çalışma kitabına bağlantı içeren tablolardaki verileri değiştiremez, ekleyemez veya silemezsiniz.

Ayrıca, aşağıdaki koşullardan biri geçerli olduğunda bu davranışla karşılaşabilirsiniz:
  • Excel çalışma kitabına bağlantı içeren tablolardan veri almak üzere bir sorgu oluşturursunuz.
  • Excel çalışma kitabına bağlantı içeren tablolardaki verilere erişen bir form oluşturursunuz.
  • Excel çalışma kitabına bağlantı içeren tabloları program yardımıyla güncelleştirmek üzere DAO veya ADO kullanırsınız.
Bağlantılı bir Excel çalışma kitabındaki kayıtları güncelleştirmek üzere bir sorgu gerçekleştirdiğinizde aşağıdaki hata iletisini alırsınız:
İşlem, güncelleştirilebilir sorgu kullanmalıdır
Excel çalışma kitabına bağlantı içeren tabloları program yardımıyla güncelleştirmek üzere DAO kullandığınızda aşağıdaki iletiyi alırsınız:
Çalışma Zamanı Hatası '3027' Güncelleştirilemiyor. Veritabanı veya nesne salt okunur.
Bağlantılı verileri ADO ile güncelleştirmeye çalıştığınızda aynı iletiyi alırsınız, ancak hata numarası aşağıdakine benzeyebilir:
-2147217911 (80040e09)
Excel çalışma kitabına kayıt eklemek üzere bir sorgu çalıştırdığınızda, Excel çalışma kitabı bir Access veritabanına bağlı olmasa da aşağıdaki hata iletisini alırsınız:
İşlem, güncelleştirilebilir sorgu kullanmalıdır
Neden
Bu beklenen davranış aşağıdaki durumlardan herhangi biri doğruysa oluşur:
  • Office Access 2007 kullanıyorsunuz.
  • Microsoft Office 2003 Service Pack 2 (SP2) veya Office 2003 SP2 sonrasında yayımlanmış bir Access 2003 güncelleştirmesi yüklediniz.

    Microsoft Office 2003 Service Pack 2 hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    887616 Office 2003 Service Pack 2'nin açıklaması (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)
  • 18 Ekim 2005 tarihli Access 2002 güncelleştirmesini (KB904018) yüklediniz.

    Access 2002 güncelleştirmesi (KB904018) hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    904018 Access 2002 güncelleştirmesi: 18 Ekim 2005'in açıklaması (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)
  • Microsoft Office 2003 Service Pack 2 (SP2), Office 2003 SP2 sonrasında yayımlanan herhangi bir Access 2003 güncelleştirmesi veya 18 Ekim 2005 tarihli Access 2002 güncelleştirmesi (KB904018) ya da sonrasını içeren bir Access çalışma zamanı uygulaması yüklediniz.
    Office güncelleştirme dosyalarını bir Access çalışma zamanı uygulamasına ekleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    916176 Access 2003 veya Access 2002'de bir uygulama için yükleme paketi oluşturulduğunda sihirbaz Access'in yayımlanan sürümünde bulunan çalışma zamanı dosyalarını kullanıyor (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)
Pratik Çözüm
Bu beklenen davranışa geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: Microsoft Excel kullanın

Bağlantılı Excel çalışma kitabını Microsoft Excel'de açın ve değişiklikleri çalışma kitabında yapın. Değişiklikleri tamamladığınızda kaydedin ve çalışma kitabını kapatın.

Yöntem 2: Office Access 2007, Access 2003 veya Access 2002 kullanın

Bağlantılı Excel çalışma kitabını Access'e alın ve verilerdeki değişiklikleri yapın. Değişiklikleri tamamladığınızda, verileri bir Excel .xls dosyası olarak verin.

Access'teki tabloyu Excel'e vermek için, aşağıdaki kodu Access'te çalıştırın.
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=<AccessYolu>"    'Not: Office Access 2007'de, aşağıdaki kod satırını kullanın:    'Db.Open "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=<AccessYolu>"    SQL = "<Sorgum>"    CopyRecordSetToXL SQL, Db    Db.Close    MsgBox "Access verileri Excel dosyasına başarıyla verdi.", vbInformation, "Verme İşlemi Başarılı Oldu."    Exit SubLeave:        MsgBox Err.Description, vbCritical, "Hata"        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 = "<ExcelYolu>"    'Excel.exe adlı COM Nesnesi ile yeni bir oturum örneği oluştur.    Set xlApp = New Excel.Application    Set xlwbBook = xlApp.Workbooks.Open(stFile)    Set xlwsSheet = xlwbBook.Worksheets("<ÇalışmaSayfaları>")    xlwsSheet.Activate    'Verilerin girileceği ilk hücre alınıyor.    xlwsSheet.Cells.SpecialCells(xlCellTypeLastCell).Select    y = xlApp.ActiveCell.Column - 1    xlApp.ActiveCell.Offset(1, -y).Select    x = xlwsSheet.Application.ActiveCell.Cells.Address    'SQL sorgusuna bağlı olarak kayıt kümesi açılıyor ve veriler Excel çalışma sayfasına kaydediliyor.    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
Not Bu kod örneğinde, aşağıdaki yertutucuları değiştirin:
  • <AccessYolu>
  • <ExcelYolu>
  • <Sorgum>
    <Sorgum>, Access veritabanındaki tablolarda çalıştırdığınız sorgunun yertutucusudur. Sorgunun sonucu Excel çalışma kitabına verilir.
  • <ÇalışmaSayfaları>
    <ÇalışmaSayfaları>, sonucu vermek istediğiniz Excel çalışma kitabının yertutucusudur.
Bu kod örneğini çalıştırmak için, CTRL+G tuşlarına basarak Immediate (Anında Çalıştır) penceresini açın, WorkArounds yazın ve ENTER tuşuna basın.
Daha fazla bilgi
Microsoft, yasal sorunlar nedeniyle Access 2003 ve Access 2002'de kullanıcıların Excel çalışma kitabındaki bir aralığa işaret eden bağlantılı tablolardaki verileri değiştirmesine olanak tanıyan işlevi devre dışı bırakmıştır. Ancak, doğrudan Excel çalışma kitabında değişiklik yaptığınızda, değişiklikler Access'teki bağlantılı tablolarda görüntülenir.
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
Özellikler

Makale No: 904953 - Son İnceleme: 08/02/2007 17:52:23 - Düzeltme: 6.4

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
Geri bildirim