Makale numarası: 223213 - Son Gözden Geçirme: 23 Haziran 2005 Perşembe - Gözden geçirme: 3.0

ACC2000: Hata CurrentProject.Connection işlemler içinde kullanma

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ı.
Gelişmiş: Uzman kodlama, birlikte çalışabilirlik ve çok kullanıcılı becerileri gerektirir.

Bu makale, Microsoft Access veritabanı (.mdb) ve Microsoft Access projesi (.adp) için geçerlidir.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

CurrentProject.Connection nesnesiyle CommitTrans veya RollbackTrans yöntemleri kullanırsanız, aşağıdaki hatalardan birini alabilirsiniz:
Kaydetme veya geri almak için bir işlem bir hareketin başlangıcı denedi.
-VEYA-
Hiçbir işlem etkin durumda.

Neden

CurrentProject.Connection nesne her kullanılışında, bağlantıda farklı bir işaretçinin yoktur. Gerçekte, örnek veya o nesnenin geçicidir. Bu neden CurrentProject.Connection.BeginTrans üzerinde hata görebilirsiniz, ancak tamamlamaya deneyin, sonra bir hata alıyor musunuz veya geri hareket olacaktır.

Çözüm

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler. DIKKAT: Bu örnekteki adımları, Northwind.mdb adlı örnek veritabanını değiştirme. Northwind.mdb dosyasını yedekleyin ve bu adımları veritabanının bir kopyasında isteyebilirsiniz.

CurrentProject.Connection için bir kez bir nesne değişkeni ayarlamak ve bu işlem, örneğin aşağıdaki örnekte olduğu gibi hareket için kullanın. Burada, "c" hareketler için kullanılan bağlantı nesnesi şöyledir:

Not: Bu makaledeki örnek kod Microsoft ActiveX Data Objects kullanır. Bu kodun düzgün çalışması için Microsoft ActiveX Data Objects 2.x (2.x 2.1 veya sonrası olduğu.) kitaplığı başvurmalıdır. Bunu yapmak için <a0></a0>, Visual Basic Düzenleyicisi'nde Araçlar menüsünden Başvurular ' ı tıklatın ve Microsoft ActiveX Data Objects 2.x kitaplığı</a0> onay kutusunun seçili olduğundan emin olun.

  1. Northwind.mdb örnek veritabanını açın.
  2. Veritabanı penceresindeki nesneleri altında modüller ' i tıklatın ve Yeni ' yi tıklatın.
  3. Yeni modüle aşağıdaki kodu yazın:
    Sub tstConnectionObj()
    
       Dim c As ADODB.Connection
       Dim rs As ADODB.Recordset
    
       Set c = CurrentProject.Connection
       Set rs = New ADODB.Recordset
    
       rs.Open "Categories", c, adOpenDynamic, adLockOptimistic
    
       c.BeginTrans
       rs.Fields(1) = "Drinks"
    
       rs.Update
       MsgBox "Updated field to " & rs.Fields(1) & "."
    
       c.RollbackTrans
       rs.Requery
       MsgBox "Rolled back field to " & rs.Fields(1) & "."
    
    End Sub
    					
  4. Komut penceresinde, şu komutu yazın ve ENTER tuşuna basın:
    tstConnectionObj
    						
    Not aşağıdaki iletiyi görürsünüz:
    Drinks alanının güncelleştirildi.
  5. Iletide, Tamam ' ı tıklatın. Aşağıdaki iletiyi görürsünüz dikkat edin:
    Alan için Alkolsüz içecekler geri.
  6. Iletide, Tamam ' ı tıklatın.

Daha fazla bilgi

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

  1. Northwind.mdb örnek veritabanını açın.
  2. Veritabanı penceresindeki nesneleri altında modüller ' i tıklatın ve Yeni ' yi tıklatın.
  3. Yeni modüle aşağıdaki kodu yazın:
    Sub tstCurrentProj()
    
       Dim rs As ADODB.Recordset
    
       Set rs = New ADODB.Recordset
    
       rs.Open "Categories", CurrentProject.Connection, adOpenDynamic, _
         adLockOptimistic
    
       CurrentProject.Connection.BeginTrans
       rs.Fields(1) = "Drinks"
       rs.Update
       MsgBox "Updated field to " & rs.Fields(1) & "."
    
       CurrentProject.Connection.RollbackTrans
       MsgBox "Rolled back field to " & rs.Fields(1) & ".
    
    End Sub
    					
  4. Komut penceresinde, şu komutu yazın ve ENTER tuşuna basın:
    tstCurrentProj
    						
    Not aşağıdaki iletiyi görürsünüz:
    Drinks alanının güncelleştirildi.
  5. Iletide, Tamam ' ı tıklatın.

    Not Bu makalenin "Belirtiler" bölümünde sözü edilen olan ilk hata iletisine bakın.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbprb KB223213 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:223213  (http://support.microsoft.com/kb/223213/en-us/ )