(14/12/2020, 10:29)berduş yazdı: [ -> ]Ilgili formun olduğu çalışmanızı ekleyin inceleyelim?
Kodun tamamını görmeden bir şey söylemem zor. 3. mesajınızda tek liste için kontrol var, bu haliyle diğerleri için uyarı vermemesi gerek. Herbir liste icin ayri ayri yazdıysanız birlestirip tek kontrol dongusune sokmaniz yeterli olabilir
İlgili dosya kişisel veriler içerdiğiden ekleyemiyorum. Fakat satır kaynağı silme işini iptal ettim. Sadece response=0 ile sistemin verdiği hatayı kapatabiliyorum. Bu tabloya bağlı 3 listbox olduğu için herbiri adına hata veriyor. 1 kez vermesi benim için yeterli. İlk hatadan sonra "hata durumunda" denetiminin çalışmasını nasıl durdurabilirim? Bu da bir çözüm olacaktır diye düşünüyorum.
Kodun güncel hali;
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If Not dosyavarmi("********.accdb") = True Then
MsgBox "Veritabanına bağlanılamadı", vbCritical, "Hata"
Response = 0
End If
End Sub
Option Compare Database satırının altına
Dim htSy As Boolean
satırını ekleyip
kodu aşağıdaki gibi düzenler misiniz?
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Response = 0
If DataErr = 3024 And htSy = False Then
MsgBox "Veritabanına bağlanılamadı", vbCritical, "Hata"
End If
htSy = True
End Sub
(14/12/2020, 17:25)berduş yazdı: [ -> ]Option Compare Database satırının altına
Dim htSy As Boolean
satırını ekleyip
kodu aşağıdaki gibi düzenler misiniz?
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Response = 0
If DataErr = 3024 And htSy = False Then
MsgBox "Veritabanına bağlanılamadı", vbCritical, "Hata"
End If
htSy = True
End Sub
Üstad bu şekilde hiç hata vermiyor. Bağlanılamasa bile msgbox veya sistem uyarısı yok.
az önce yine denedim 1 defa hata verdi kapandı.
kapatıp açtım dosyayı tekrar bağladım, bağlı olan VT adını değiştirdim
bağlıyken uyarı vermedi, dosyayı bulamayınca 3 liste kutusu olmasına rağmen 1 defa verdi
(14/12/2020, 17:51)berduş yazdı: [ -> ]az önce yine denedim 1 defa hata verdi kapandı.
kapatıp açtım dosyayı tekrar bağladım, bağlı olan VT adını değiştirdim
bağlıyken uyarı vermedi, dosyayı bulamayınca 3 liste kutusu olmasına rağmen 1 defa verdi
Tekrar deneyeceğim sabah üstad
Üstad tekrar denedim, yine olmadı . Fakat If DataErr = 3024 yerine dosya yolu ve htsy ile koşul denediğimde 1 kez verip kapandı. Sanırım hata kodunda bir sorun vardı. Bu şekilde çözmüş olduk. Yardım için teşekkür ederim.
If Not dosyavarmi("********.accdb") = True And htSy = False Then
MsgBox "Veritabanına bağlanılamadı", vbCritical, "Hata"
End If
htSy = True
Response = 0