Rapor kaynağı değişken tablo yapılabilir mi?

12/12/2011, 03:00

hace32

Arkadaşlar iyi geceler.
Ekteki dosyamda da göreceğiniz üzere gidenevrak defteri formumdan yilsec açılan kutusuyla seçtiğim yıla ait verileri o yıl adıyla bulunan tablolarıma işleyebiliyorum.
Ayrıca formda o anda bulunan bilgileride T_USTRAPOR adlı tabloma kaydederek istadiğim yıl ve sayılı yazışma raporunu alabiliyorum. Benim yapamadığım ise yeterli VB ve Sql bilgim olmadığından bu T_USTRAPOR tablosuna form verilerimi kaydetmeden formumdaki yilsec açılan kutusu değeri ve o anda sayisi metin kutusu değerine göre seçilen yıla ait tablodan form sayisi alanı değeriyle eşleşen kaydımın raporunu alabilmek.
Şöylede diyebiliriz : Rapor kayıt kaynağını belirli bir kritere göre istediğimiz tablo yapabiliyormuyuz?
Forumda çok dosya ve konu inceledim ama hepsi tek tablolu çözümler.
Yardımlarınız için şimdiden teşekkürler.
(Ayrıca ekli dosyamdaki raporda RTF2 denetimi ve formdada bütün işlemler Access TR'den öğrenebildiğim kadarıyla ADO ile yapılmıştır. Yararlanmak isteyen arkadaşlar olabilir)
Ek Dosyalar

12/12/2011, 04:08

ozanakkaya

Sorunuzdan anladığım kadarıyla;
forma Buton ekleyin, tıklandığında olayına aşağıdaki kodu yazın.
Dim TabloAdi As String
TabloAdi = "T_G" & Me.yilsec
DoCmd.OpenReport "R_USTYAZI", acViewDesign
Reports!R_USTYAZI.RecordSource = "SELECT " & TabloAdi & ".[sayisi], '{\rtf1\ansi\ansicpg1254\deff0\deflang1055{\fonttbl{\f0\fnil\fcharset162 Times New Roman TUR;}}{\colortbl ;\red0\green0\blue0;}{\*\generator Riched20 5.40.11.2220;}\viewkind4\uc1\pard\qj\cf1\f0\fs24\tab ' & [icerik] & '\par\tab ' & [icerik2] & '\par\tab ' & [icerik3] & '\par\tab ' & [icerik4] & '\par}' AS icerikler, * FROM " & TabloAdi & " WHERE ((([sayisi])=[Forms]![F_GIDENEVRAK]![sayisi]))"
DoCmd.Close acReport, "R_USTYAZI", acSaveYes
DoCmd.OpenReport "R_USTYAZI", acViewPreview

"sayisi" metin kutusundaki veriye göre seçtiğiniz "yilsec" değerindeki tabloyu raporun kayıt kaynağı yapılır.
12/12/2011, 10:39

hace32

Teşekkürler sayın Sledgeab. Deneyip sonucunu bildireceğim.
12/12/2011, 12:01

hace32

Sayın Sledgeap.
vermiş olduğunuz kodu formumdaki önizle etiketinin tıklandığında olayına yazdım.
Raporu açıp düzenleyip kapatıyor. Yani çalışıyor. Yalnız:
Her önizleme ve yazdırma işinde bu raporu tekrar düzenleyip kaydetmek ileride veritabanı boyutunu büyütür mü? Yada benim yöntemimdeki form verilerini bir tabloya kaydedip o tablodan rapor almak mı? , bu sizin vermiş olduğunuz yöntem mi? daha hızlı ve kullanışlı olur? Bu iki yöntemden başka daha verimli bir yolu varmıdır? İlgi ve cevabın için teşekkür ederim.
12/12/2011, 19:02

ozanakkaya

Başka önerebilceğim bir yol malesef yok. Butonu 10 kere tıklasanız boyut en fazla 100 KB artar, veritabanı [url=https://www.accesstr.net/showthread.php?tid=9830]Düzenle/Onar[/url] ile tekrar eski boyutuna çevirebilirsiniz.
12/12/2011, 20:47

hace32

Teşekkür ederim Sayın Sledgeab cevabın ve önerin için.
İyi akşamlar.