Tablonun olup olmadığını kontrol ettirme
#1
Arkadaşlar her ay için tablo oluşturulan bir access projesinde; adres araması yapılan bir form var. Kullanıcı ay ve yıl değerlerini açılan kutulardan seçiyor (ak59'da ay ve ak61'de yıl). Butona tıkladığında (kodlar aşağıda) Abone numarasını metin kutusuna yazıyor (metin18) ve aşağıdaki durumlara göre adres bilgisi form üzerindeki bir başka metin kutusuna yazdırılıyor (metin20).
Şimdi sorun şu; Kayıtların her ay için farklı tabloda tutulduğunu söylemiştim (12011,32011,122011... şeklinde adlandırılıyor tablolar) ak59 ve ak61 de seçilen değerlerin karşılığı olan tabloda aramaya geçildiğinde eğer tablo yoksa sayfa hata veriyor haliyle (mesela ay için 3 yıl için 2011 seçildi ve 32011 tablosunda arama yapılacak fakat bu isimle tablo olmadığından "sayyy = DCount("*", tddd, kriter)" satırı hata veriyor haliyle)
İşte bunu kontrol edip eğer seçilen değerlerin karşılığı tablo yoksa ; metin20 içine "Belirtilen ay sistemde kayıtlı değildir" uyarısını nasıl yazdırabilirim? Tablonun varlığını kontrol edecek bir yol tavsiye edebilirseniz sevinirim.


Private Sub Komut3_Click()
Dim kriter As String
Dim addd As String
Dim sddd As String
Dim tddd As String
Dim sayyy As Integer
Dim veri As String
addd = Me.ak59
sddd = Me.ak61
kriter = "[Abone Numarası]=" & Me.Metin18
tddd = addd & sddd
sayyy = DCount("*", tddd, kriter)
If sayyy = 0 Then
Me.Metin20.Value = "Abone bulunamadı"
Else
sayyy = DCount("Adres", tddd, kriter)
If sayyy = 0 Then
Me.Metin20.Value = "Abone'ye ait adres girişi yapılmamış."
Else
veri = DLookup("Adres", tddd, kriter)
Me.Metin20.Value = veri
End If
End If
End Sub



  Alıntı
Bu mesajı beğenenler:
#2
mrb.lar
altaki kodu bu şekilde değiştir ve birde fonction ekliyorum
referanslaradan dao3,6
ve
micrst visual basic for aplica... extens 5,3 ekleyiniz.

Visual Basic
  1. Dim kontrol As Byte
  2. Dim jon As String
  3. Dim kriter As String
  4. Dim addd As String
  5. Dim sddd As String
  6. Dim tddd As String
  7. Dim sayyy As Integer
  8. Dim veri As String
  9.  
  10. addd = Me.ak59
  11. sddd = Me.ak61
  12. kriter = "[Abone Numarası]=" & Me.Metin18
  13. tddd = addd & sddd
  14.  
  15. jon = tddd
  16. kontrol = tabloadi(jon)
  17.  
  18. If kontrol = 1 Then
  19. MsgBox "dosya yok tekrar deneyiniz.."
  20. Exit Sub:
  21. Else
  22. End If
  23. sayyy = DCount("*", tddd, kriter)
  24. If sayyy = 0 Then
  25. Me.Metin20.Value = "Abone bulunamadı"
  26. Else
  27. sayyy = DCount("Adres", tddd, kriter)
  28. If sayyy = 0 Then
  29. Me.Metin20.Value = "Abone'ye ait adres girişi yapılmamış."
  30. Else
  31. veri = DLookup("Adres", tddd, kriter)
  32. Me.Metin20.Value = veri
  33. End If
  34. End If
  35. End Sub



Visual Basic
  1. Public Function tabloadi(ByRef tablo_adi As Variant) As Byte
  2. On Error GoTo hata:
  3. Dim dbs As Database
  4. Dim tbl As TableDef
  5.  
  6. Set dbs = CurrentDb
  7. Set tbl = dbs.TableDefs(tablo_adi)
  8. If tbl.Name = tablo_adi Then
  9. tabloadi = 0
  10. Exit Function
  11. End If
  12.  
  13. hata:
  14. If Err.Number = 3265 Then
  15. tabloadi = 1
  16. End If
  17.  
  18. End Function



imza; jon206
www.access-sql.com



  Alıntı
Bu mesajı beğenenler:
#3
Sayın @jon206 sorunsuz çalıştı.. Aslında çoğu durumda kullanılabilir bir yapı öğrenmiş oldum. Vb hata mesajları yerine kendi yönergelerimi yazabilmemi sağlayacak bir bakıma..
Çok çok teşekkürler!!!



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Bir Belgenin Yazdırılmış Olması Durumunu Kontrol Etmek Hk? adnnfrm 7 826 03-02-2024, 03:24
Son Mesaj: dsezgin
  Internet Bağlantı Kontrol zilli 19 9.270 26-01-2024, 14:43
Son Mesaj: ates2014
  [TABLO] Iki Farklı Tablonun Karşılaştırılması yahyamacit 1 345 21-03-2022, 19:58
Son Mesaj: celalll
  [FORM] Belli Bir Değer Göre Kaydı Saydırma Ve Kayıt Kontrol evidi 2 593 07-10-2021, 22:19
Son Mesaj: evidi
  Bire Bir Ilişkili 2 Tablonun Kullanıcıya Sunulan Form Tasarımları Nasıl Olabilir? schecter 5 871 21-03-2021, 01:54
Son Mesaj: dsezgin
  [VBA] Excelde Ki Sayfa Ismini Kontrol Ettirme lemoncher2 8 1.673 13-01-2021, 21:25
Son Mesaj: lemoncher2
  [VBA] Tablo Bağlımı Değilmi Kontrol Etme hedefkaya 1 538 19-05-2020, 04:46
Son Mesaj: dsezgin
  [FORM] Kontrol Kodu Hatası h2001 1 591 12-11-2019, 22:00
Son Mesaj: h2001

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi