Makale numarası: 209884 - Son Gözden Geçirme: 11 Ekim 2006 Çarşamba - Gözden geçirme: 3.2

ACC2000: Nasıl kapatma kodu "Tüm Hatalarda Kes" seçeneğini kapatın...

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 Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, üzerindeki tüm hataları Kes seçeneğini Visual Basic for Applications kodu, yordamlar, hata yüklemeyi kesintiye uğratmasını erişmelerini engellemek nasıl gösterir.

Daha fazla bilgi

Tüm hatalar, kesme seçeneği Microsoft Access'te açık olan bir kullanıcı veritabanını paylaşırsanız bile kodunuzu yordamlar, hata içeriyorsa, bir çalıştırma hatası durdurmak ve hata içeren modül'ı açmak, kodunuz neden olur. Kullanıcıların kendi çalışma zamanı hataları işlemek için istemiyorsanız, kodunuz çalışırken üzerindeki tüm hataları kesme seçeneği askıya alma yordamları oluşturabilirsiniz.

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.

Örnek yordamlar, askıya alma ve "Tüm Hatalarda Kes" seçeneğini Sürdür

Aşağıdaki örnek yordamlarda, kendi veritabanında üzerindeki tüm hataları kesme seçeneği'geçici olarak askıya almak için kullanabilirsiniz. Bu yordamlar çalıştığını, üzerindeki tüm hataları kesme seçeneği ayarlanmış olup olmadığını unutmayın. Çalışma zamanı hataları risklere karşı ek koruma olarak kodunuzda bunları içerebilir:
  1. Bir modül oluşturun ve Tanımlamalar bölümüne aşağıdaki satırı yazın:
    Dim varOldBOAEOptions As Variant
    					
  2. Aşağıdaki yordamlar yazın:
    '-----------------------------------------------------------------
    ' Save the current setting for the "Break on All Errors" option
    ' Turn off the "Break on All Errors" option.
    '-----------------------------------------------------------------
    
    Public Sub SuspendBreaks()
    
       varOldBOAEOptions = GetOption("Error Trapping")
       SetOption "Error Trapping", 2
    
    End Sub
    
    '-----------------------------------------------------------------
    ' Restore the "Break on All Errors" settings that were temporarily
    ' suspended by the SuspendBreaks procedure.
    '-----------------------------------------------------------------
    
    Public Sub ResumeBreaks()
    
       If Not IsEmpty(varOldBOAEOptions) Then _
         SetOption "Error Trapping", varOldBOAEOptions
    
    End Sub
    					
  3. Modül basErrHandling kaydedin.
  4. Kesme üzerindeki tüm hataları "seçeneği değil kodunuzun çalışmasını kesintiye, kodunuzu başında SuspendBreaks yordamını çağırmak ve sonunda ResumeBreaks yordamını çağırmak. emin olmak istediğinizde Örneğin:
    Function MyCodeModule()
       SuspendBreaks
       On Error GoTo MyCodeModule_Err
    
       ' Add your code here.
    
    MyCodeModule_Exit:
       ResumeBreaks
       Exit Function
    
    MyCodeModule_Err:
    
       ' Add your error handling routine here.
    
       Resume MyCodeModule_Exit
    End Function
    					

Örneğin, "Tüm Hatalarda Kes" farklı Ayarları sonuçları gösterme

A?a??daki örnek, hata yordamlar içeren kodu Kes açık tüm hataları seçeneği açık çalışırken ne olacağını gösterir.

Not: Bu makaledeki örnek kod Microsoft Data Access Objects kullanır. Bu kodun düzgün çalışması için Microsoft DAO 3.6 Nesne Kitaplığı'na başvurmalısınız. Bunu yapmak için <a0></a0>, Visual Basic Düzenleyicisi'nde Araçlar menüsünden Başvurular ' ı tıklatın ve sonra Microsoft DAO 3.6 Nesne Kitaplığı</a0> onay kutusunun seçili olduğundan emin olun.

  1. Microsoft Access'i başlatın ve MyError.mdb adlı yeni bir boş veritabanı oluşturun.
  2. 1 Ile 3, askıya alma ve üzerindeki tüm hataları kesme seçeneği Sürdür yordamları oluşturmak için önceki bölümdeki adımları izleyin.
  3. Herhangi bir tabloyu veya sorguyu Tasarım görünümünde dayanan yeni bir form oluşturun:
       Form: frmTestErrors
       ----------------------------------------------------
       Caption: Test Error Handling
    
       Text box:
          Name: txtUName
       Text box:
          Name: txtPwd
       Command button:
          Name: cmdOK
          Caption: Without Turning Off Break On All Errors
          OnClick: [Event Procedure]
       Command button:
          Name: cmdOKBreakOff
          Caption: Turning Off Break On All Errors
          OnClick: [Event Procedure]
       Command button:
          Name: cmdCancel
          Caption: Cancel
          OnClick: [Event Procedure]
    					
  4. Görünüm menüsünde kodu ' ı tıklatın ve sonra aşağıdaki yordamlar yazın:
    '---------------------------------------------------------------
    ' Test UserName and Password.
    ' Returns:
    '   True if UserName and Password are valid.
    '   False if UserName and Password are invalid.
    ' Displays corresponding error message.
    '-------------------------------------------------------------
    
    Public Function ChkPwd(uid As String, strPwd As String)
       On Error GoTo badPwd
       Dim ws As DAO.Workspace
       Set ws = DAO.DBEngine.CreateWorkspace("TestPWD", uid, strPwd)
       MsgBox "Your password is correct, " & uid
       ChkPwd = True
    
    exitChkPwd:
       Exit Function
    
    badPwd:
       MsgBox "Not the right UserName or Password, " & uid & _
         ", if that is your real name!"
       ChkPwd = False
       Resume exitChkPwd
    End Function
    
    Private Sub cmdOK_Click() ' Without "Break on All Errors" turned off.
       Call ChkPwd(Me![txtUName] & "", Me![txtPwd] & "")
    End Sub
    
    Private Sub cmdOKBreakOff_Click()
       SuspendBreaks  ' Turn off "Break on All Errors."
       Call ChkPwd(Me![txtUName] & "", Me![txtPwd] & "")
       ResumeBreaks   ' Reset "Break on All Errors."
    End Sub
    
    Private Sub cmdCancel_Click()
       DoCmd.Close
    End Sub
    					
  5. Araçlar menüsünden Seçenekler ' i tıklatın.
  6. Seçenekler iletişim kutusundaki Genel sekmesini tıklatın ve sonra da <a2>üzerindeki tüm hataları Kes</a2>'ı tıklatın. Tamam ' ı tıklatın.
  7. Dosya menüsünde Kapat ve Microsoft Access'e dön'ı tıklatın.
  8. FrmTestErrors formu kaydedin ve kapatın.
  9. FrmTestErrors formu Form görünümünde açın.
  10. Kullanıcı1 txtUName kutusuna ve parolam txtPwd kutuya yazın. Olmadan dönüştürme kapalı Kes açık tüm hatalar ' ı tıklatın ve karşın kod hatalarını işleme unutmayın aşağıdaki çalışma zamanı hata iletisini alırsınız:
    Çalışma zamanı hatası '3029':
    Olmayan bir geçerli bir hesap adı veya parola.
    Son hata iletisine yanıt'ı tıklatın.
  11. Açma sonu tüm hatalar'On [NULL]'Kapat [NULL]'ı tıklatın. Yordamı, hata, aşağıdaki iletiyi üreten dikkat edin:
    Gerçek adınızı ise, değil doğru bir kullanıcı adı veya parola, bu, Kullanıcı1!

Referanslar

GetOption ve SetOption yöntemleri, Visual Basic Düzenleyicisi'nde hakkında daha fazla bilgi için Yardım menüsünde Microsoft Visual Basic Yardımı ' nı tıklatın, GetOption, SetOption yöntemi, Office Yardımcısı'na veya Yanıt Sihirbazı'nı yazın ve sonra döndürülen konuları görüntülemek için Ara ' yı tıklatın.

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