Ö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.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Belirtiler
Sabit uzunluklu metin (CHAR) alanı olan bağlantılı ODBC tabloya birincil anahtar olarak yeni bir kayıt eklediğinizde, tüm yeni kayıttaki alanlar #DELETED görüntülenir.
Not Sonra kapatıp bağlı tabloyu, yeni eklenen kayıt görüntülenir ve düzgün olarak eklenir.
Neden
Birçok ODBC sürücüleri için bir boşluk (veya "out yazma") ekleme eklenen bir karakter alanının en fazla uzunluktan daha az olduğunda bir CHAR alanı. Microsoft Jet 4.0 yanlış geri eklenen, edilirken değerini okur ve özgün, unpadded değerle karşılaştırır. Jet, iki değerden farklı olduğu için Microsoft Access'e yeni eklenen kaydı bulunamıyor bildirir.
Çözüm
Bu sorunu gidermek için <a0></a0>, en son Jet 4.0 hizmet paketini yükleyin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
239114Nasıl yapılır:'ı Microsoft Jet 4.0 veritabanı altyapısı için en son hizmet paketini elde
Pratik Çözüm
Tablo için birincil anahtar olarak (VARCHAR) bulunduğu bildirilen bir değişken uzunluklu metin alanı kullanın.
Durum
Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır. Bu sorun, Jet 4.0 Service Pack 6 (SP6) giderilmiştir.
Daha fazla bilgi
Davranışı yeniden oluşturma adımları
Bu sorun, DB2 ve Oracle Microsoft SQL Server veritabanına bağlama tarafından üretebilir. Sorun bağlı tabloda en az 60 ya da daha fazla kaydı yoksa yapılmasına izin vermiyor.
Ekleme işlemi sırasında gerçekleştirilen bir ODBC izleme incelerseniz, Jet ekler ve kaydı düzgün reselects ve hiçbir hata, izleme içinde ortaya görürsünüz. Jet kayıt alır ve kullanıcı tarafından girilen değerle reselected anahtar değerini karşılaştırmak denediği sonra sorun oluşur.
Bu davranışı yeniden oluşturmak için aşağıdaki adımları gerçekleştirin:
Sınama tablosu ve kayıtlar oluşturmak için aşağıdaki Microsoft Visual Basic kodu çalıştırın:
Sub GenerateTestTable()Dim conn As ObjectDim i As Long, sql as String Set conn = CreateObject("adodb.connection") ' Change connection string to point to your SQL Server if needed. conn.Open "Provider=SQLOLEDB;Server=(Local);Database=Pubs;UID=sa;PWD=;" On Error Resume Next conn.Execute "drop table tmp_chartest" On Error GoTo 0 sql = "create table tmp_chartest(f1 char(5) primary key, f2 char(10))" conn.Execute sql For i = 1 To 70 sql = "insert into tmp_chartest (f1,f2) values ('" sql = sql & Format(i, "000") & "','XXXXXXXXXX')" conn.Execute sql Next i conn.Close Set conn = NothingEnd Sub
Microsoft Access 2000'i başlatın ve bir önceki adımda oluşturduğunuz tmp_chartest tablosuna bağlayın.
Yeni bağlantılı tabloyu açın ve son kaydı tablosuna gidin.
<a1>Alan</a1> F1 ile yeni bir kayıt eklemek ve 071 F2 alan XXXXXXXXXX =.
Sekmeyi kapatmak, kayıt ve alanların tümünde görüntülenen #DELETED görmelisiniz.
silindi
Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır