ACC2000: Bağlı SQL Server tablosundaki yeni satır kayboluyor veya son kaydı, bir çoğaltma görünüyor

Makale çevirileri Makale çevirileri
Makale numarası: 251289 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Orta: temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.

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

Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Yeni bir kayda bağlı bir Microsoft SQL Server tablosuna eklemek ve daha sonra farklı bir kayda taşıdığınızda, aşağıdaki belirtilerden birini görebilirsiniz:
Tablo içinde herhangi bir bölümünü yeni bir kayıt girildikten sonra yeni bir sonraki kayda gitmek için SEKME tuşuna basın, yalnızca bir tabloda tümüyle yeni bir kayıt yazın ve sonra bir varolan kayda disappears.When yazdığınız kayıt, kayıt, bir tabloya yeni kayıt yalnızca bir bölümünü yazın ve sonra bu kayıtta varolan bir kaydı, yeni kaydınız disappears.When yazdığınız kaybolur ve son kaydı tablosundaki bir kayıt herhangi bir bölümünü yazın ve sonra da kayıt bırakın duplicated.When görünüyor, yazdığınız bilgiler kaybolur.
ÖNEMLI: veri gerçekten kayıp değil. Kaydı yeniden eklemek çalışmayın; bunu mevcut. Görünen yinelenen kayıt silmek çalışmayın. Çoğaltılacak görünür, özgün kaydı silme silmeden, değil, yalnızca kayıt eklendi.

Neden

SQL Server tablosuna bir kayıt eklemeye çalıştığınızda, kimlik sütunu varsa, bunun yerine bir önceki kayıttaki bir kopyası gibi görünen bakın. Kayıt yenileme kadar yeni kaydın doğru veriyi görüntülemez. Bu davranış, Microsoft Access, SQL Server veritabanını yeniden sorgular şekilde ilişkilidir.

Çözüm

Bu sorunu gidermek için <a0></a0>, en son Microsoft Jet 4.0 hizmet paketi güncelleştirmesini edinin. 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
Bu soruna geçici bir çözüm bulmak için <a0></a0>, aşağıdaki üç yöntemden birini kullanın.

Bir Access projesi kullanarak

Access projesinde, bir Access veritabanını yerine kullanabilirsiniz. Access projesi kullanarak, bir SQL Server veritabanına bağlanmak için tablo bağlı gerekmez.

Access veritabanınız, Access projesinde dönüştürme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
241743ACC2000: "Access 2000 yükseltme araçları" teknik incelemesi kullanılabilir Yükleme Merkezi'ndeki
250616ACC2000: Nasıl DTS verileri bir Microsoft Access veritabanından SQL Server veritabanına aktarmak için kullanılır

Bir Access veritabanında formları kullanma

Bu davranış, bir formdaki görürseniz, Microsoft Visual Basic for Applications kodu Beforeınsert ve Afterınsert olayları için otomatik olarak verileri yeniden sorgulamak ve formun yeni eklenen bir kayda taşımak için kullanın. Aşağıdaki örnek kodla olayları form üzerindeki kayıt yenilemesini ekleyebilirsiniz.

Not: Bu yöntemi ile yeni bir kayıt devre dışı'ı iki kez taşımak bir randevu olduğunu görebilirsiniz. Diğer bir deyişle, yeni bir kayıt eklemek, sonra SEKME tuşuna veya başka bir yeni kayıt eklemek veya önceki kayda gider için kayıt gezinti düğmelerinden birini tuşlarına basın, kayıt gezinme düğmesi, uygun kayıt almak için bir kez basmanız vardır. Bu, form kapatıldığında etkilemez.
Option Compare Database
Option Explicit

Dim mfRequery As Boolean

Private Sub Form_AfterInsert()

    If mfRequery = True Then
        ' If the variable indicates a Requery
        ' is needed, Requery the form.
        Me.Requery
        ' Move back to the record that was just added
        DoCmd.GoToRecord acDataForm, Me.Name, acLast
        mfRequery = False
    End If

End Sub

Private Sub Form_BeforeInsert(Cancel As Integer)

    If Me.NewRecord = True Then
        ' If this is a new record, set a variable
        ' to indicate the need to Requery.
        mfRequery = True
    End If
    
End Sub
				

Tablo içinde bir MDB kullanma

Bu davranış, bir tablodaki görürseniz, el ile tablo resort veya kapatıp tablo.

Durum

Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır.   Bu sorun, en son Microsoft Jet 4.0 hizmet paketinde giderilmiştir.

Daha fazla bilgi

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

  1. Northwind.mdb örnek veritabanını açın.
  2. Siparişler tablosu, varolan bir SQL Server veritabanına verme. OrdersTest olarak adlandırın.
  3. Yeni bir Access veritabanı oluşturun.
  4. Yeni veritabanında, SQL Server'a dışa OrdersTest tablosuna bağlı yeni bir tablo oluşturun.
  5. Bu bağlama sonra tabloyu açın.
  6. Aşağı son kayda gidin.
  7. Yeni kayıt satırında, yeni bir kayıt yazın.
  8. Tüm verilerde yazdıktan sonra imleci yeni kayıt dışına taşımak için YUKARı OK tuşuna basın.
  9. Yeni kayıt artık gösteriliyor, ancak son kaydın iki kez görünür konusuna bakın.
  10. Kayıtlar menüsündeki Requery ' i tıklatın. Yinelenen kayboldu, fark.

Özellikler

Makale numarası: 251289 - Last Review: 9 Şubat 2014 Pazar - Gözden geçirme: 2.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2000 Standard Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbpending kbprb KB251289 KbMttr
Machine-translated Article
Ö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:251289

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com