Program Yapmak | Programcılık Hakkında Her Şey | VİSUAL BASİC 6.0 | C, C++ ve C# Yazılım Dilleri | VB.NET Yazılım Dili

Vb.Net Crystal Reports - Parameter Fields

Merhaba Arkadaşlar,

Bildiğimiz üzere VB.NET'e veritabanını bağlıyoruz, ama belki de veri tabanında yazdırmamız gereken yer var ama, raporlama yaparken bir veri tabanı tablosundan bağlanıp raporluyorduk şimdi bunu dışarıdan bir değer atayaraktan yapalım. (Bu konu Forumda sorulmuştu umarım gerekli kişilerin işini görür.)

İlk adım "VERITABANI" adında bir Access veritabanı dosyası oluşturun.

İkinci adım "VERI" adında bir tablo oluşturun gerekli ayarlamalar aşağıda bulunmaktadır.

http://resim.sanalkurs.net/uploads/Access_Veri.jpg

Üçüncü adım şimdi raporlama yapabilmek için bir sorgu oluşturacağız aşağıda gerekli resim bulunmakta (Sağ Tıklayıp SQL Göster demeniz yeterli)

http://resim.sanalkurs.net/uploads/Access_Sorgu.jpg

Şimdi SQL de de gördüğünüz gibi "YAZAR_ADI" Alanına parametre belirledik bunu VB.Net içersinde gerekli yerde kullanacağız.
Artık VB.Net içersindeki yapacağımız ayarlara geldi öncelikle aşağıdaki gibi bir form tasarlayın.(1 Adet TextBox, 1 Adet Label, 1 Adet Button)

http://resim.sanalkurs.net/uploads/VB_Form.jpg

İkinci bir form alın projenize ve içersine "Crystal Reports Viewer" Ekleyin ardından bu nesnenin "Dock" Özelliğini "Fill" yapın.(Genelde bu halde gelir.)

http://resim.sanalkurs.net/uploads/VB_Crystal_Reports.jpg

Şimdi artık raporlama yapabilmemiz için "Crystal Reports" nesnesi ekleyelim
(Project/Add New Item)

http://resim.sanalkurs.net/uploads/Add_New_Item.jpg

"Add" Dedikten sonra çıkan pencerede "Standart" seçeneğini seçin ve diğer adıma geçin.

http://resim.sanalkurs.net/uploads/Crysta_Reports_Gallery.jpg

http://resim.sanalkurs.net/uploads/Standard_Report.jpg

"Create New Connection" Klasörünün altında yer alan "Access/Excel(DAO)" Seçeneğini seçin ve aşağıdaki pencere açılacaktır.

http://resim.sanalkurs.net/uploads/Access_Excel.jpg

"Database Name" Kısmına Veritabanınızın yerini Belirleyin ve "Son" veya "Finish" diyerek diğer adıma geçiniz.

http://resim.sanalkurs.net/uploads/Standard_Repor_Wizard.jpg

Çıkan pencerede veritabanınızın içersindeki tablolar ve sorguları göreceksiniz oluşturmuş olduğumuz "YAZAR_SORGU"sunu "Selected Tables" Penceresine aktarın ileri diyerek bir sonraki adıma geçin.

http://resim.sanalkurs.net/uploads/Standard_Report_Fields.jpg

Açılan bu pencerede raporunuzda listelemek istediğiniz verilerinizi "Available Fields" bölümünden "Fields to Display" Bölümüne aktarın.ileri diyerek diğer adıma geçelim

http://resim.sanalkurs.net/uploads/Standard_Report_Group_BY.jpg

Gruplandıracağınız verileriniz varsa "Group By" bölümüne aktarabilirsiniz.

http://resim.sanalkurs.net/uploads/Standard_Report_Filter.jpg

Filtrelenecek alanlarınız varsa "Filter Fields" bölümüne aktarabilirsiniz.

http://resim.sanalkurs.net/uploads/Standard_Report_Style.jpg

Raporunuz için uygun bir sitil seçtikten sonra "Son" diyerek Sihirbazla olan işimizi bitirelim

http://resim.sanalkurs.net/uploads/Crystal_Reports.jpg

Yukarıdaki gibi projenize bir adet "rpt" uzantılı dosya eklenicektir.Özellikle "Field Explorer" penceresinde yer alan "Parameter Fields" satırına Access uygulamasında yaptığımız Sorgudaki parametrenin geldiğine dikkat edin.

Şimdi uygulamamızın Parametrelerinin aktarımına gelelim bu işlemi kodlarla yapıcağız aynı işlem sihirbaz ilede yapılabilir ama bu biraz işin kolayına kaçmaktır o yüzden kodları yazmaya başlayalım ilk olarak parametreyi gireceğimiz formumuza gelelim (üzerinde Textbox ve Button olan). Şimdi burada parametre değerimizi bir değişkene aktararak işleme devam edeceğiz. aşağıda gerekli kodlar var siz kendi yaptığınız uygulamada gerekli yerlere yerleştirirsiniz.(Button_Cliclk Events'ına ve Form?un class seviyesindeki bölüme)

Public Class Form1
    Public Shared egitimismi As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim yeni As New Form2
        egitimismi = TextBox1.Text
        yeni.Show()

    End Sub
End Class


Aşağıdaki kodu ise "CrystalReportsViewer" nesnesinin olduğu forma (İkici Formumuz),(Form_Load Events?ına ve Form general bölümüne ekliyeceksiniz.)

Imports System.Data
Imports System.Data.SqlClient
Imports CrystalDecisions.Shared

Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim parametre As CrystalDecisions.Shared.ParameterValues
        Dim deger As CrystalDecisions.Shared.ParameterDiscreteValue
        Dim rapor As CrystalReport1
        parametre = New CrystalDecisions.Shared.ParameterValues
        deger = New CrystalDecisions.Shared.ParameterDiscreteValue
        deger.Value = Form1.egitimismi
        parametre.Add(deger)
        rapor = New CrystalReport1
        rapor.DataDefinition.ParameterFields(0).ApplyCurrentValues(parametre)
        CrystalReportViewer1.ReportSource = rapor

    End Sub
End Class


Yukarıdaki kodları tek tek açıklamıyacağım, ders çok uzuyacak. Sadece Parameter_Fields olayının kodlarla yapılışı, yani sihirbazı kullanmadan parametre ile raporlama için.
Sincan Laptop tamiratı ile alakalı içeriklerin bulunduğu web siteden bilgilere ulaşabilirsiniz. Sincan'da laptop tamiratını en iyi yapan yerleri sorgulayabilirsiniz. Cihan KOÇ
=> Sen de ücretsiz bir internet sitesi kurmak ister misin? O zaman burayı tıkla! <=