Tabloya yeni kayıt eklediğinizde "girdiğiniz metin listedeki bir öğe değil" 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.

Özgün KB numarası:   824176

Not

Bu makale yalnızca Microsoft Access veritabanı (. mdb) için geçerlidir. Temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.

Belirtiler

Formdaki birleşik giriş kutusunun NotInList olayını kullanarak program aracılığıyla yeni bir kayıt eklemeyi denediğinizde, aşağıdaki hata iletisini alabilirsiniz:

Girdiğiniz metin listedeki bir öğe değil.
Listeden bir öğe seçin veya listedeki öğelerden biriyle eşleşen metni yazın.

Ancak yeni kayıt tabloya başarıyla eklenir. Sonuç olarak, girdiğiniz yeni öğe Birleşik giriş kutusundaki öğeler listesine eklenir.

Neden

Bu sorun, Birleşik giriş kutusu sayı veri türü sütunuyla ilişkili olduğunda ve sütunun Format özelliği para birimi veya Euro olarak ayarlandığında oluşur.

Geçici Çözüm

Bu sorunu çözmek için, Birleşik giriş kutusuna bağlı olduğu sütunun biçimiyle eşleşen değeri girin. Örneğin, sütunun biçimi para birimindeyse , 20 yerine $20 yazın.

Ancak, sütunun biçimi Euro olarak ayarlanmışsa, sütunun biçimiyle eşleşen bir sayı giremeyebilirsiniz.

Not

Sütunun Biçim özelliğini sıfırlarsanız sorun oluşmaz.

Daha Fazla Bilgi

Açılan kutudaki bir öğeye karşılık gelen bir sayı yazdığınızda de hata iletisini alabilirsiniz. Bu sorun, yazdığınız numaranın varolan temel kayıt kümesinin biçimlendirilmiş girişleriyle eşleşmemesi durumunda ortaya çıkabilir.

Microsoft Office Access 2003 davranışını yeniden oluşturma adımları

  1. Microsoft Access 'i başlatın.

  2. Yeni bir db1. mdb veritabanı oluşturun.

  3. Gerekli örnek tabloyu oluşturmak için aşağıdaki adımları izleyin:

    1. Veritabanı penceresinde nesneler 'In altındaki Tablolar 'ı tıklatın.
    2. Sağ bölmede, Tasarım görünümünde tablo oluştur 'u çift tıklatın.
    3. Alan adı sütununun ilk satırında, TypeId 'yi ve ardından karşılık gelen veri türünü OtomatikSayı olarak ayarlayın.
    4. Alan adı sütununun ikinci satırında, bu, karşılık düşen veri türünü sayıya ayarlayın.
    5. Alan özellikleri bölmesinde genel sekmesini tıklatın.
    6. Format özelliğini para birimine ayarlayın.
    7. Dosya menüsünde Kaydet 'e tıklayın.
    8. Farklı kaydet Iletişim kutusunda ücretler yazın ve Tamam 'ı tıklatın.
    9. Dosya menüsünde Kapat 'a tıklayın.
  4. Veritabanı penceresinde, nesneler 'In altındaki Formlar 'ı tıklatın.

  5. Sağ bölmede Tasarım görünümünde form oluştur 'u çift tıklatın.

  6. Forma bir ComboTest Birleşik giriş kutusu ekleyin ve ardından özellikleri aşağıdaki gibi ayarlayın:

    Özelliðini Değer
    Adlandır ComboTest
    İlişkili sütun: 2
    RowSourceType Tablo/sorgu
    Satır kaynağı: Rates.ID, tarifelerle tarifeleri SEÇIN.
    Otomatik genişletme: Evet
    Listeyle Sınırla: Evet
    Sütun sayısı: 2
    Sütun genişlikleri: 0 "; 1"
  7. Microsoft Visual Basic Düzenleyicisi 'ni açmak için Görünüm menüsünde kod 'ye tıklayın.

  8. ComboTest Birleşik giriş kutusunun NotInList olayına aşağıdaki kodu yapıştırın.

    Not

    Bu makaledeki örnek kod Microsoft Data Access nesnelerini kullanır. Bu kodun düzgün çalışması için Microsoft DAO 3,6 nesne kitaplığı 'na başvurmalıdır. Bunu yapmak için, Visual Basic Düzenleyicisi 'ndeki Araçlar menüsünde Başvurular 'A tıklayın ve Microsoft DAO 3,6 nesne kitaplığı denetim kutusunun seçili olduğundan emin olun.

    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Dim Msg As String
    
        Msg = "'" & NewData & "' is not in the list." & vbCr & vbCr
        Msg = Msg & "Do you want to add it?"
        If MsgBox(Msg, vbQuestion + vbYesNo) = vbNo Then
            Response = acDataErrContinue
           MsgBox "Try again."
        Else
            Set Db = CurrentDb
            Set Rs = Db.OpenRecordset("Rates", dbOpenDynaset)
    
            Rs.AddNew
            Rs![Rates] = NewData
            Rs.Update
            Response = acDataErrAdded
    
        End If
    
  9. Dosya menüsünde Kaydet 'e tıklayın.

  10. Farklı kaydet iletişim kutusunda, FormTest yazın ve Tamam 'a tıklayın.

  11. Dosya menüsünde Kapat 'a tıklayın.

  12. Veritabanı penceresinin sağ bölmesinde, Biçim testi 'ne çift tıklayın.

  13. Birleşik giriş kutusuna bir sayı yazın ve ENTER tuşuna basın.

    NotInList olayı tetiklenir. Bu makalenin "Belirtiler" bölümünde açıklanan hata iletisini alırsınız.

Başvurular

NotInList olayı hakkında daha fazla bilgi için, Yardım menüsünde Microsoft Access Yardımı 'Na tıklayın, Office Yardımcısı 'Na veya Yanıt sihirbazına NotInList olay yazın ve ardından Ara 'ya tıklayarak konuyu görüntüleyin.