Access'te bir tablo kaydettiğinizde "Çok Fazla Alan Tanımlandı" hatası

Not

Office 365 ProPlus, Microsoft 365 Kurumsal Uygulamaları olarak yeniden adlandırılıyor. Bu değişiklik hakkında daha fazla bilgi için, bu blog yazısını okuyun.

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

Bu makale yalnızca bir Microsoft Access veritabanı (.mdb) için geçerlidir.

Belirtiler

Yeni bir alan ekledikten veya varolan bir alanın özelliklerini değiştirdikten sonra bir tablo yu kaydettiğinizde, aşağıdaki hata iletisini alırsınız:

Çok fazla alan tanımlandı.

Bu iletiyi takip eden:

Kaydetme sırasında hatalarla karşılaşıldı. Veri türleri değiştirilmedi.

Tabloda tanımlanan 255 veya daha az alanınız olmasına rağmen bu iletileri alırsınız.

NOT Çok fazla alanı olan bir tabloya alan ekler veya değiştirirseniz, bu iletiyi de alırsınız.

Neden

Microsoft Access'in tablodaki alan sayısını izlemek için kullandığı iç sütun sayısı, tabloda 255'ten az alanınız olsa bile 255'e ulaşmıştır. Access, bir alanı sildiğinizde dahili sütun sayısını değiştirmediği için bu durum olabilir. Access ayrıca, özelliklerini değiştirdiğiniz her alan için yeni bir alan (iç sütun sayısını 1'e kadar artırma) da oluşturur.

Çözüm

Silinen alanlar veya özelliklerini değiştirdiğiniz alanlar için iç sütun sayısını serbest etmek için aşağıdakilerden birini yapın:

  • Veritabanını sıkıştırın. Bunu yapmak için Araçlar menüsündeki Veritabanı Yardımcı Programları'nı işaret edin ve ardından Veritabanını Sıkıştır ve Onar'ı tıklatın.

  • Tablonun yeni bir kopyasını oluşturun. Bunu yapmak için aşağıdaki adımları izleyin:

    1. Tabloyla herhangi bir ilişkiyi not edin.
    2. Tabloyu seçin.
    3. Dosya menüsünde, Farklı Kaydet'i tıklatın.
    4. Tabloyu Kaydet 'tablo adı' Kutusuna yeni bir ad yazın ve ardından Tamam'ı tıklatın.
    5. Adım 2'de seçtiğiniz aynı tabloyu seçin ve ardından DELETE tuşuna basın.
    6. Adım 3'te kaydettiğiniz tabloyu özgün tablo adına yeniden adlandırın.
    7. Yeni tabloyla herhangi bir ilişki kurun.

Daha fazla bilgi

Access'te, bir tabloda en fazla 255 alan tanımlayabilirsiniz. 255 alan oluşturur ve sonra 10'u silerseniz, Access alanları iç sütun sayısından çıkarmaz. Ayrıca, özelliklerini değiştirdiğiniz her alan için Access yeni bir alan oluşturur ve özgün alanı iç sütun sayısından serbest bırakmaz.

Davranışı Çoğaltma Adımları

Not

Bu makaledeki örnek kod Microsoft Veri Erişim Nesneleri kullanır. Bu kodun düzgün çalışması için Microsoft DAO 3.6 Nesne Kitaplığı'na başvurmanız gerekir. Bunu yapmak için Visual Basic Düzenleyicisi'ndeki Araçlar menüsünde Başvurular'ı tıklatın ve Microsoft DAO 3.6 Nesne Kitaplığı onay kutusunun seçildiğinden emin olun.

  1. 255 alandan yeni bir tablo oluşturmak için aşağıdaki Uygulamalar için Temel Temel'i oluşturun:
' ****************************************************************
' Declarations section of the module
' ****************************************************************
    
Option Compare Database
    Option Explicit
    
    ' ****************************************************************
    ' The Fill_Table() function creates a table in the current database
    ' named Field Test with 255 fields, each of which has a Text data
    ' type and a size of one character.
    ' ****************************************************************
    
    Function Fill_Table()
    
    Dim mydb As DAO.Database
       Dim tbl As DAO.TableDef
       Dim fld As DAO.Field
       Dim i As Integer
    
    Set mydb = CurrentDb()
       Set tbl = mydb.CreateTableDef("Field Test")
          For i = 0 To 254
             Set fld = tbl.CreateField("Field" & CStr(i + 1))
             fld.Type = dbText
             fld.Size = 1
             tbl.Fields.Append fld
          Next i
          mydb.TableDefs.Append tbl
    
    End Function
  1. İşlevçalıştırmak ve tablooluşturmak için Hemen penceresine aşağıdaki satırı yazın:

    Fill_Table
    
  2. Tasarım görünümünde Alan Testi tablosunu görüntüleyin ve tabloda tanımlanan yalnızca 254 alan olacak şekilde son alanı silin.

  3. Alanı yeniden ekleyin ve tabloyu kaydetmeye çalışın. Aşağıdaki hata iletilerini aldığınızı unutmayın:

    Too many fields defined.
    
    Errors were encountered during the save operation. Fields were not added. Properties were not updated.
    

Başvuru

Veritabanı özellikleri hakkında daha fazla bilgi için Yardım menüsünde Microsoft Erişim Yardımı'nı tıklatın, Office Yardımcısı'nda veya Yanıt Sihirbazı'nda Access belirtimlerini yazın ve döndürülen konuları görüntülemek için Ara'yı tıklatın.