Site Renkleri

Visual Basic Dersleri

Veritabanı kullanmadan crystall report ile raporlama



raporlamak istediğimiz alanlar,
adı_soyadı, adresi, telefon olsun

- not defterini açarak (notepad) içine şunları girelim.

adi_soyadi string 50 denemeadısoyadı
adresi string 50 denemeadres
telefon string 20 999 99 99

burada dikkat edilmesi geren nokta şu,
dosya yapısı; (alanadı,tip,uzunluk,varsayılan değer aralarında tab ile boşluk olacak)

şimdi bu dosyamızın uzantısını ttx vererek örneğin adres.ttx olarak saklayalım.x

crystall reportu açarak yeni bir boş rapor açalım. veritabanı sorduğunda (data explorer) seçimimiz;
more data source\active data\active data (field definitions only) seçeneği olacaktır.
bu seçeneği seçtikten sonra. kaydettiğimiz adres.ttx dosyasını göstereceğiz. ve raporumuzu sanki
veritabanına bağlı gibi dizayn edeceğiz.

şimdi gelelim. işin visual basic kısmına. dedik ya hiç veritabanı kullanmayacağız.
ama, recordset kullanmayacağız demedik. tabi bu kullanacağımız recordset de yine veritabanına bağlı olmayacak.
peki nasıl olacak bu iş, işte kodlaması;

referanslardan; (bunlar önemli)
- microsoft activex data objets 2.5 library
- crystal report viewer control
- crystal report 8 activex designer run time library

ekledikten sonra,

formumuza 1 adet crystalreportviewer kontrolu ekliyoruz. ve

Dim a As CRAXDRT.Application
Dim r As CRAXDRT.Report

form declerations ta tanımladıktan sonra.
form load olayına ise şunları yazıyoruz.


dim rs as new adodb.recordset

with rs.fields
.append "adi_soyadi",adbstr
.append "adresi",adbstr
.append "telefon",adbstr
end with

rs.open
rs.addnew
rs("adi_soyadi")="esa"
rs("adresi")="edirne"
rs("telefon")="555"
rs.updatebatch adaffectcurrent 'en azından bir kayıt olsun :)

set a= new crxdrt.application
set r = a.openreport(app.path & "\adres.rpt")
r.papersize=crpapera4
r.paperorientation = crportrait
r.discardsaveddata
r.database.setdatasource rs,,1

crviewer1.reportsource = r
crviewer1.viewreport
crviewer.zoom 1

set r=nothing
set a=nothing
rs.close

işte hepsi bu kadar. gördüğünüz gibi hiç bir veritabanı bağlantısı yok.

bu yalnızca bir tablolu bir örnekti. farklı tabloları örneğin bire çoklu ilişkileri (master-detail) de bu şekilde yapabilirsiniz.her iki tablo için ayrı ayrı ttx (field definiation file) oluşturup. raporunuza ekledikten sonra
crystall report içinde alanlar arasında bağlantıyı (link) oluşturup, istediğiniz gibi gruplama
işlemleri de yapabilir. profesyonel raporlar hazırlayabilirsiniz.

Web Tasarımı | Site Tasarımı | Bilgisayar Dersleri | Hosting | Domain