Makale numarası: 128809 - Son Gözden Geçirme: 19 Ocak 2007 Cuma - Gözden geçirme: 4.1

Bağlantılı ODCB tabloları "silindi #" hataları

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Bir kayıttaki her alanın "#Deleted" hata iletisi, almak, ekleme ya da bağlantılı bir ODBC tablosunun kayıtlarında güncelleştirme içerir. Almak, ekleme ya da kodu kullanarak kayıtları güncelleştirmek hata "Kayıt silindi." iletisi

Neden

Microsoft Jet veritabanı alt yapısı anahtar kümesi kullanan bir modeli olarak tasarlanmıştır. Bu veriler, eklenen ve güncelleştirilen (örneğinde bağlı ODBC tablo, bir tablonun benzersiz dizini) anahtar değerleri temel alınır, anlamına gelir.

Microsoft Access, bir ekleme veya güncelleştirme bağlantılı bir ODBC tablosunun yapar, sonra bir WHERE kullandığı yeniden ekleme veya güncelleştirme kayıt seçmek için ölçüt. WHERE ölçütleri benzersiz dizin alarak. Çok sayıda etken tüm kayıtları döndürmek select neden olabilir, ancak genellikle neden Microsoft Access, önbelleğe alınmış bir anahtar değeri ODBC tablosundaki gerçek anahtar değeri ile aynı değildir. Diğer olası nedenleri şunlardır:
  • Bir güncelleştirme veya ekleme tetikleyicisi anahtar değerini değiştirme tablosuna sahip.
  • Benzersiz dizin kayan nokta değeri alma.
  • Sabit uzunluklu metin alanı sıfır, doğru boşluk miktarı olan sunucuyu kullanma.
  • Bağlantılı bir ODBC tablosunun kadar benzersiz dizin oluşturma alanlar boş değerler içeren sahip.
Bu etkenler doğrudan "#Deleted" hata iletisini neden olmaz. Bunun yerine, bunlar neden olan kayıt yeniden seçmek için anahtar değerleri, koruma, sonraki adıma geçmek, Microsoft Access kayıttaki tüm diğer alanlar bu kez ölçütleri temel alan. Bu adım, birden fazla kayıt döndürürse, çalışmak için güvenilir bir anahtar değerine sahip değildir, çünkü Microsoft Access "#Deleted" iletisi verir. "#Deleted" hataları, kapatın ve tabloyu yeniden veya tüm kayıtları Göster kayıtları menüden kaldırılır.

Microsoft Access, bağlantılı bir ODBC tablodan kayıtları almak için benzer bir işlem kullanır. Önce anahtar değerleri ve diğer anahtar değerleri eşleşen alanları alır. Microsoft Access kayıt geri kalanını bulmak çalıştığında, bu değer yeniden bulmak bağlanamıyorsa, kaydın silinmiş varsayar.

Çözüm

Bu davranışı engellemek için kullanabileceğiniz bazı stratejilerini şunlardır:
  • Dışında bir benzersiz dizin için aynı olan kayıtları girme kaçının.
  • Benzersiz dizin hem de başka bir alan güncelleştirmelerini tetikleyen bir güncelleştirme kaçının.
  • Float alan benzersiz bir dizin veya benzersiz bir dizinin parçası olarak, bu veri türündeki yuvarlama devralınan sorunlar nedeniyle kullanmayın.
  • Tüm güncelleştirmeleri ve ekler, böylece ne ODBC veri kaynağına gönderilen tam olarak biliyorsanız, SQL doğrudan sorguları kullanarak yapabilirsiniz.
  • SQL doğrudan sorgusu kayıtları alabilirsiniz. Bir SQL doğrudan sorgu güncelleştirilemez ve bu nedenle "#Delete" hataları neden olmaz.
  • Bağlantılı ODBC tablosunun benzersiz dizin yapmadan herhangi bir alan içinde boş değerleri saklamak kaçının.

Daha fazla bilgi

Not: Microsoft Access 2.0 bağlantılı tablolar iliştirilmiş tablolar olarak adlandırılan.

Davranışı yeniden oluşturma adımları


  1. Örnek veritabanı Northwind.mdb (veya Microsoft Access 2.0 NWIND.MDB.) açın.
  2. Shippers tablo yükseltmek için yükseltme araçları kullanın.

    Not: Bu tabloyu bir OtomatikSayı alanı (veya Microsoft Access 2.0 sayacı alanında) içeren, SQL Server'da bir sayacı öykünür tetikleyici yükseltme araçları çevrilir.
  3. Shippers bağlantılı tabloyu açın ve yeni bir kayıt girin. Aynı veri girdiğiniz kaydı önceki kayıt olarak şirket ad alanı olduğundan emin olun.
  4. Yeni bir kayda gitmek için SEKME tuşuna basın. "#Deleted" hata girdiğiniz kayıt doldurduğuna dikkat edin.
  5. Kapatın ve tabloyu yeniden açın. Kaydın doğru olmasına dikkat edin.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Anahtar Kelimeler: 
kbmt kberrmsg kbinterop kbprb KB128809 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:128809  (http://support.microsoft.com/kb/128809/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.