A.S.C Filtre, Grafik ve Raporlama Eklentisi

MsgBox (Mesaj Kutusu) Özellikleri ve Kullanımı
#1
access-sql-19 
Merhaba..

Kodlarımızın içerisinde sıklıkla, çeşitli amaçlar için (uyarma, bilgilendirme, seçenek sunma vb.) kullandığımız mesaj kutusunun özelliklerini ve nasıl oluşturabileceğimizi dilim döndüğünce anlatmaya çalışayım..

İşlevin yapısı ve mesajı özelleştirmemize yarayacak bölümleri şu şekilde..:

MsgBox (Mesaj içeriği , Düğmeler , Başlık, Yardım Dosyası , Yardım Dosyası İndeksi)


Mesaj içeriği:

İçerik en fazla 1024 karakterden oluşabilir.. Mesaj, metin ya da sayısal değerlerden oluşabilir.. Form üzerindeki veya VBA üzerindeki bir değişkeni de bu kısımda gösterebiliriz.. Basit bir örnekle sade yapıyı görelim..:

Visual Basic
  1. MsgBox ("Bu bir Access & Sql forumları mesajıdır..")


[Resim: msj1.jpg]



Birden fazla satırdan oluşan mesajlar için satır başı karakteri Chr(13) ve satır besleme Chr(10) karakterinden birini veya ikisini birden kullanabiliriz..:

Visual Basic
  1. MsgBox ("Bu bir Access & Sql forumları mesajıdır.." & Chr(13) & "Tüm üyelerimize iyi forumlar dileriz..")


[Resim: msj2.jpg]


Düğmeler:

Mesajlarımızı oluştururken bu bölümü kullanmak isteğimize bağlıdır.. İçeriğin bitiminde ilave edeceğimiz virgül sonrasında bize seçenekler listelenir.. Bu kısma vereceğimiz değerle mesajda görünmesini istediğimiz düğmelerin sayısını, simgesini ve türünü belirleyebiliriz..Tamam düğmesi bize varsayılan olarak gelir..

[Resim: msj3.jpg]

Şimdi düğmelerden bazılarını inceleyelim....:

vbOKCancel

Genelde şart oluşturmak istediğimiz kod yapılarında kullandığımız bu düğme türü Tamam ve İptal düğmelerini gösterir.. Kullanımını basit bir örnekle gösterilim..

Visual Basic
  1. If MsgBox("Bu formu açmayı istiyor musunuz?", vbOKCancel) = vbOK Then DoCmd.OpenForm "form"


[Resim: msj4.jpg]

Tamam düğmesine bastığımızda istediğimiz eylemin gerçekleşmesini sağlıyoruz.. Hayır dediğimizde mesaj kutusu kapanır..


vbYesNoCancel

Yukarıdaki seçeneğin İptal düğmesi eklenmiş halidir.. Çoklu şart gerektiren işlemlerde kullanılabilir..

Visual Basic
  1. Dim mesaj
  2. mesaj = MsgBox("Form kapanırken yedekleme yapılsın mı?", vbYesNoCancel)
  3.  
  4. If mesaj = vbYes Then
  5. DoCmd.OpenForm "form"
  6. ElseIf mesaj = vbNo Then
  7. DoCmd.Close
  8. End If


[Resim: msj5.jpg]

vbAbortRetryIgnore

Durdur, Yeniden Dene ve Yoksay düğmelerini gösterir.. Hata denetimlerinde ya da bağlantı içeren kod yapıları içerinde kullanılabilir..

vbRetryCancel

Yeniden Dene ve İptal düğmeleri gösterilir..


vbCritical

Mesajın soluna Kritik Simgesi ekler..

vbQuestion

Mesajın soluna Soru Simgesi ekler..

vbExclamation

Mesajın soluna Uyarı Simgesi ekler..

vbInformation

Mesajın soluna Bilgi Simgesi ekler..

Kod düzenlemeleri ve Simge resimleri bu şekilde..:

Visual Basic
  1. 'Kritik Simgesi
  2. MsgBox "Access & SQL Forumları uyarıyor!!", vbCritical '1 Numaralı Resim
  3.  
  4. 'Soru Simgesi
  5. MsgBox "Access & SQL Forumları soruyor!!", vbQuestion '2 Numaralı Resim
  6.  
  7. 'Uyarı Simgesi
  8. MsgBox "Access & SQL Forumları uyarıyor!!", vbExclamation '3 Numaralı Resim
  9.  
  10. 'Bilgi Simgesi
  11. MsgBox "Access & SQL Forumları bilgilendiriyor!!", vbApplicationModal '4 Numaralı Resim



[Resim: msj6.jpg] [Resim: msj7.jpg]

[Resim: msj8.jpg] [Resim: msj9.jpg]

vbInformation

Mesajın kutusuna Yardım düğmesi ekler.. Aşağıdaki örnek kodda hem Yardım düğmesini hem de Kritik uyarı simgesini mesajda göstermek için her ikisinin arasına (+) artı kullandım.. Kodun içindeki Chr(10) un görevini yukarıda işlemiştik..

Visual Basic
  1. MsgBox "Access & SQL Forumları uyarıyor.." _
  2. & Chr(10) & Chr(10) & "Yanlış formu açıyorsunuz!!", vbMsgBoxHelpButton + vbCritical



[Resim: msj10.jpg]

vbMsgBoxRight

Mesaj kutusundaki metinleri sağa yaslar.. Yukardaki vbInformation konusunda örnek verdiğimiz koda (+) kullanarak bu özelliği de ilave ederek farkı görelim..

Visual Basic
  1. MsgBox "Access & SQL Forumları uyarıyor.." _
  2. & Chr(10) & Chr(10) & "Yanlış formu açıyorsunuz!!", vbMsgBoxHelpButton + vbCritical + vbMsgBoxRight



[Resim: msj11.jpg]


Gördüğünüz gibi mesaj içeriğini yazdığımız kısımdan sonra yazdığımız bu değer gruplarının bazıları mesaj kutularında görüntülenen düğmelerin sayısını ve türünü tanımlar.. Bazıları ise simgeleri tanımlar.. bu iki türlü tanımlamanın aynı anda nasıl kullanılacağını yukarıda açıklamıştım..

Başlık:

Resimlerde gördüğünüz gibi mesaj kutuların başlıkları biz tanımlamadığımız sürece Microsoft Office Access ya da uygulamanın adı görünür. Başlık kullanmak aynı düğme kısmı gibi isteğe bağlıdır..
Mesaj içeriğini yazıp, düğme kısmından sonra bir virgül koyarak içerikte olduğu gibi çift tırnak arasına başlığı yazarız..

Visual Basic
  1. MsgBox "Bu konu Taruz tarafından değerli üyelerimiz için hazırlanmıştır..", , "Access - SQL Forumları"


[Resim: msj12.jpg]


Yardım Dosyası ve Yardım Dosyası İndeksi:
Bu bölüm başlı başına bir ayrı bir konuda işlenmesi gereken bir konudur.. (.. Forum içinde Yardım dosyası diye arama yaptığınızda örneklerde bulabilirsiniz..
) Birkaç kısa bilgi de vereyim..
İsteğe bağlı bir özelliktir.. Yardım Dosyası kısmını kullanacaksanız dosyanın dizin veya kısım numarasını belirteceğiniz bölüm olan Yardım Dosyası İndeksi kısmını boş geçemezsiniz.. Yardım dosyası kullanacaksanız Düğmeler kısmında vbMsgBoxHelpButton kullanarak mesaja yardım düğmesi yerleştirerek yardım dosyasının ilgili kısmına ulaşılması sağlayabilirsiniz..



  Alıntı
Bu mesajı beğenenler: tugayguler
#2
Madem açmak için vesile oldum. Konunuza ilk mesaj benden olsun Smile

Çok Teşekkürler!



  Alıntı
Bu mesajı beğenenler:
#3
Sayın Taruz,
iyi bayramlar diliyorum ve paylaşımınız için çok teşekkür ederiyorum.



  Alıntı
Bu mesajı beğenenler:
#4
Sayın Taruz hocam;

Tamamen bir ders anlatımı özelliğinde ve faydalı olacak bu paylaşımlarınıza çok teşekkürler.

iyi Bayramla.



  Alıntı
Bu mesajı beğenenler:
#5
Sayın @Taruz

Sizin bana vermiş olduğunuz uyarı koduna iptal seçeneği ekledim ancak iptale tıkladığımda form kapanıyor. ancak ben kapata tıkladığımda açılan uyarının kapanmasını istiyorum.
Visual Basic
  1. Private Sub Kapat_Click()
  2.  
  3. If Me.kontrol = 0 Then
  4.  
  5. If MsgBox("Sipariş Formu Kapatılıyor. " & " Girilen Bilgiler Kayıt Edilsin mi?", vbYesNoCancel, "Çıkış") = vbYes Then
  6. Me.kontrol = 0
  7. Else
  8. Me.Undo
  9.  
  10. End If
  11. End If
  12. DoCmd.Close
  13.  
  14. End Sub





  Alıntı
Bu mesajı beğenenler:
#6
Merhaba..

DoCmd.Close komutunu kodlamanın içinden siliniz..



  Alıntı
Bu mesajı beğenenler:


Foruma Git:


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