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ı
Microsoft Access 'i başlatın.
Yeni bir db1. mdb veritabanı oluşturun.
Gerekli örnek tabloyu oluşturmak için aşağıdaki adımları izleyin:
- Veritabanı penceresinde nesneler 'In altındaki Tablolar 'ı tıklatın.
- Sağ bölmede, Tasarım görünümünde tablo oluştur 'u çift tıklatın.
- 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.
- Alan adı sütununun ikinci satırında, bu, karşılık düşen veri türünü sayıya ayarlayın.
- Alan özellikleri bölmesinde genel sekmesini tıklatın.
- Format özelliğini para birimine ayarlayın.
- Dosya menüsünde Kaydet 'e tıklayın.
- Farklı kaydet Iletişim kutusunda ücretler yazın ve Tamam 'ı tıklatın.
- Dosya menüsünde Kapat 'a tıklayın.
Veritabanı penceresinde, nesneler 'In altındaki Formlar 'ı tıklatın.
Sağ bölmede Tasarım görünümünde form oluştur 'u çift tıklatın.
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"
Microsoft Visual Basic Düzenleyicisi 'ni açmak için Görünüm menüsünde kod 'ye tıklayın.
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
Dosya menüsünde Kaydet 'e tıklayın.
Farklı kaydet iletişim kutusunda, FormTest yazın ve Tamam 'a tıklayın.
Dosya menüsünde Kapat 'a tıklayın.
Veritabanı penceresinin sağ bölmesinde, Biçim testi 'ne çift tıklayın.
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.