Access'te dizin içeren bir Not alanına büyük miktarda metin girdiğinizde "Çalışma zamanı hatası '3709'"

Orta: Temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.

Bu makale, Microsoft Access veritabanı (.mdb) dosyası veya Microsoft Access veritabanı (.accdb) dosyası için geçerlidir.

Belirtiler

Microsoft Access veritabanında, dizin içeren bir Not alanı oluşturduğunuzda veya otomatik olarak dizine alınan metni içeren bir alan adı oluşturduğunuzda, alana yaklaşık 3450 karakterden fazla karakter içeren metni giremezsiniz. Alana daha fazla metin girmeye veya var olan verileri düzenlemeye çalıştığınızda aşağıdaki hata iletisini alırsınız:

Run-time error '3709':

The search key not found in any record.

Çözüm

Not alanına büyük miktarda metin girmeniz gerekiyorsa, Not alanının dizinini silin. Bunu yapmak için şu adımları izleyin:

  1. Tasarım görünümünde Not alanı olan tabloyu açın.

  2. Görünüm Menüsünde Dizinler'e tıklayın.

    Not Microsoft Office Access 2007'de Tasarım sekmesine tıklayın ve ardından Göster/Gizle grubunda Dizinler'e tıklayın.

  3. Not alanının dizinine tıklayın ve ardından silin.

Durum

Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bunun bir sorun olduğunu onayladı.

Daha fazla bilgi

Not alanları Jet 3.5 ve önceki sürümlerde dizine alınamadığından, bu davranış Microsoft Access'in Microsoft Access 2000 öncesi sürümlerinde oluşmaz.

Access 2003'te davranışı yeniden oluşturma adımları

  1. Yeni bir veritabanında, aşağıdaki özelliklere sahip yeni bir tablo oluşturun ve tablo1 olarak kaydedin:

    Table: Table1
    ------------------------
    Field Name: Id
    Data Type: AutoNumber
    Primary Key
    
    Field Name: MyCode
    Data Type: Memo
    
  2. Tablo1 tablosuna aşağıdaki kaydı ekleyin:

    Id MyCode
    ------------------------------------
    1 This is the Memo test data
    
  3. Aşağıdaki SQL deyimini kopyalayın, SQL görünümünde yeni bir sorguya yapıştırın ve sorguyu query1 olarak kaydedin:

    UPDATE Table1 SET Table1.MyCode = [MyCode] & " " & [MyCode];

  4. Aşağıdaki modülü oluşturun ve Module1'i kaydedin:

    Sub TestMemoUpdate()
        Dim i As Integer
        Docmd.setwarnings false
        For i = 1 To 10
        Docmd.openquery "Query1"   
        Next i
        Docmd.setwarnings true
    End Sub
    
    
  5. İşaretçinizi yordamda olacak şekilde yerleştirin. Kodu çalıştırmak için F5 tuşuna basın.