Form alanından rapor alanındaki istediğim sayfaya link veremiyorum. Lütfen yardım...

Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Herkese iyi akşamlar...
İçinden çıkamadığım bir konuda yardımınıza ihtiyacım var arkadaşlar.
Resim 1'de göreceğiniz Form'da yer alan 1 no'lu butona tıkladığımda İlgili kayıtın yer aldığı Rapor sayfasını ekrana getiremiyorum.
Örneğin 4 no'lu form'dayken butonu tıkladığımda 4 no'lu sayfadaki rapor sayfasının gelmesini istiyorum. Bunu nasıl yapabilirim?
Yardımcı olursanız çok sevinicem. Şimdiden teşekkürler.
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın arnavut,

Rapora ve forma birer görünmez metin kutusu ekleyin.

Form ve raporun veri kaynağı olan sorguları açıp bunlara ID yi de ekleyin,

Sonra eklediğiniz metin kutularının veri kaynaklarını ID olarak ilişkilendirin.

Sonra da rapor açma düğümesinin kodlarını aşağıdaki gibi değiştirin.

Kod:
Private Sub Command57_Click()
On Error GoTo Err_Command57_Click
    Dim stDocName As String
    Dim strWhere As String
    
    strWhere = "[ID]=" & Me!ID
    
    strDocName = "ÖT_Table1"
    DoCmd.OpenReport strDocName, acPreview, , strWhere

Exit_Command57_Click:
    Exit Sub
İyi çalışmalar:roll:
 
Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Yardımınız için çok teşekkür ederim sayın Modalı.
 
Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Tekrar merhaba sayın, Modalı
dediklerinizi yaptım ancak ekteki hata mesajıyla karşılaşıyorum.
ne yapmalıyım?

(kusura bakmayın başınızı çok şişirdim.)
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın arnavut,

Sanırım kodların bir kısmı silinmiş. Yani Err_command57 ile başlayan satırlar yok.

Kodları tekrar ekliyorum. Kotam dolmak üzere olduğundan örneği gönderemiyorum.

Kod:
Private Sub Command57_Click()
On Error GoTo Err_Command57_Click
    Dim stDocName As String
    Dim strWhere As String
    
    strWhere = "[ID]=" & Me!ID
    
    strDocName = "ÖT_Table1"
    DoCmd.OpenReport strDocName, acPreview, , strWhere

Exit_Command57_Click:
    Exit Sub
[COLOR=red]Err_Command57_Click:
    MsgBox Err.Description
    Resume Exit_Command57_Click
[/COLOR]    
End Sub
Kırmızılı yerler eksik.

İyi çalışmalar:)
 
Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Çalıştı sayın Modalı,
size ne kadar teşekkür etsem azdır. Çok sağolun. yordum sizi.
iyi akşamlar.
 
Katılım
16 Mart 2007
Mesajlar
6
Excel Vers. ve Dili
EXCEL
Form ve raporun veri kaynağı olan sorguları açıp bunlara ID yi de ekleyin,

Sonra eklediğiniz metin kutularının veri kaynaklarını ID olarak ilişkilendirin?

Sayın Üsdat MODALI bu iki yere takıldım,Form ve raporun veri kaynağı olan sorguları açıp Bu veri kaynağı olan sorguları nereden açıyoruz,ID eklemek buradaki ID ne anlama geliyor?
veri kaynaklarını ID olarak ilişkilendirin,Bunu nereden nasıl yapacagım?
Şimdi den çok teşekkür ediyorum size ve bize bu güzel imkanları sunan tüm dostlara lütfen cevabını bekliyorum sabırsızlıkla:hey:
 
Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Merhaba Sayın, Pol38

Ekte sayın modalının sayesinde çözdüğümüz örneği gönderiyorum.
Sanırım anlatmak daha karışık ve uzun olacak. Bu yüzden örneği ekledim.
Ekteki Access dosyasında Formlardan ÖT_Table isimli formu ve Raporlardan da ÖT_Table1 isimli raporu dizayn görünümünde açıp incelerseniz söz konusu ID'leri göreceksiniz. Form'a da bir print buton'u ekleyip Event'inede aşağıdaki kod'u eklerseniz çalışacaktır.

Söz konusu ID'yi hem form'a hemde rapora eklemeyi unutmayın ama,
ID'ler kafa karıştırmasın diye ben visible olarak tanımladım.
Unutmadan;
Form'a koyacağınız butonun adını aşağıda Command57 yazan yerlere ve Formdayken butona tıkladığınızda açılacak raporun adını da ÖT_Table1 yazan yerlerle değiştirmryi unutmayın.
Kolay Gelsin.




Private Sub Command57_Click()
On Error GoTo Err_Command57_Click
Dim stDocName As String
Dim strWhere As String

strWhere = "[ID]=" & Me!ID

strDocName = "ÖT_Table1"
DoCmd.OpenReport strDocName, acPreview, , strWhere

Exit_Command57_Click:
Exit Sub
Err_Command57_Click:
MsgBox Err.Description
Resume Exit_Command57_Click

End Sub
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
excel 2003
ben neden yapamadım yahu şunu. benim kayıt kaynağım sorgu değil tablo acaba bundan mı. kodda bi değişiklik mi yapmak gerekiyor acaba?
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
excel 2003
Daha iyi açıklamak için şöyle söyleleyim. Aynı sorun bende de var yani Formda görünen kişini raporunu almak istiyorum sadece.yukarıdaki yapılanları yaptım ancak olmadı. yadım edebilirseniz sevinirim. Bu çok acil.
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
excel 2003
Private Sub Komut43_Click()
On Error GoTo Err_Command43_Click
Dim stDocName As String
Dim strWhere As String

strWhere = "[ID]=" & Me!ID

strDocName = "tblhasta"
DoCmd.OpenReport strDocName, acPreview, , strWhere
Exit_Command43_Click:
Exit Sub
Err_Command43_Click:
MsgBox Err.Description
Resume Exit_Command43_Click
End Sub

yani bu olmadı örnek ekte. şimdiden sağolun.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın shogan,

Bu forumda son zamanlarda anlayamadığım bir şeyler var. Gönderilen örneklere bakıyorum sorulan sorulara bakıyorum aralarında fark bak. Kayan yazılı vs gibi ekleri uygulayanların sormaması gereken sorularla karşılaşıyorum.

Şimdi bu kadar geniş kapsamlı uygulama yapanın ID noktasında takılması garip.

Şimdi aşağıdaki kodları açıklayayım. Doküman adı tblHasta olan bir raporu(veya başka bir elemanı herneyse) açıyoruz. Tüm komut Docmd başlayan satırda. Önce açılacak elemanın türü rapor olduğunu görüyorsunuz ondan sonra virgüllerle ayrılmış, raporun nasıl açılacağı ile ilgili arametreler. strWhere ne demk ingilizcede KelimeNereden burada da genelede tablo sorgu veya raporun birincil anahtarının neyle eşit olduğu kaydın açılmasını sağlıyor. Sizin tablonuzun ID alakası yok ki. ID veritabanı uygulamalarında kayıt noya karşılık olarak kullanılan bir isimlendirme kelimesi. Siz burada hasta no ile çalışmanız gerekir.Yani :

Kod:
strWhere="[hasta no]= Me![hasta no]"
olarak kullanmanız gerekiyor.

Bir de veri tabanı düzeni ve isimlendirmeyle ilgili pekçok yazı yazdım ve artık yazmaktan bıktım.

Dünyaca kabul edilmiş bir isimlendirme formatı var. İsimlendirme yaparken tablo isimlerini tblHasta olarak adlandırıyoruz, ondan sonra buna dayanan forma frmHasta diyoruz raporuna ise rptHasta diyoruz ki aynı ismde bir sürü eleman olmasın. Sizin uygulamada hepsi aynı. Adlandırma yapatken boşluk bırakmamaya dikkat etmeniz, içinde Türkçe karakter olmamaya dikkat etmeniz gerekiyor. Şimdi diyeceksiniz ki ben böyle kullanıyorum oluyor. Ama Amerikayı tekrar keşfetmek gibi bir şey bu. Adamlar böyle kullanıyor bir yararı var ki böylr. Yararları konusunda sayfalarca yazı yazılabilri.

Bir de, birçok arkadaşa tavsiyelerde bulunuyorum ille de benim dediğim olacak diyorlar. Geçen gün bir tavsiyede bulundum tekrar ısrar ediyorlar bunun üstünde.

Herneyse çok anlattım. Biraz da içimi döktüm. Kusura bakmayın.

İyi çalışmalar
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
excel 2003
yardımınız için teşekkürler modalı. sorularıma devamlı sizi cevap veriyorsunuz bunu için de teşekkür ederim.

kodlama konusunda sıfırım desem yeridir. eklediğim kodları örneklere bakarak kendi projeme uyguluyorum. yavaş yavaş mantığı anlamaya başladım ama bakın yine de ufak tefek yerlerde takılıyorum.

strWhere="[hasta_no]= Me![hasta_no]" gibi bişey yapmıştım bak orda da yanlış yapmışım. bu accesteki ilk çalışmam beni kınamayın :)

tekrar teşekkür ederim. tavsiyelerinizi dikkate alıyorum.
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
excel 2003
sayın modalı "me!hasta no" diye parametre soruyor. sormasın istiyorum yine bi yerde yanlışlık yaptım galiba.yukarıdaki örnek.mdb gibi rapor tuşuna bastığımda gelmesini istiyorum yine parametre soruyor. başınızı şişiriyorum kusura bakmayın.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın shogan,

Eğer köşeli parantezi kullanmamışsanız hata oluşur. İşte eleman adlarında boşluk vermenin size yol açtığı bir hata.

Veya
strWhere = "[hasta no]=" & Me.[hasta no]

olarak deneyin.

İyi çalışmalar
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
excel 2003
teşekkür ederim modalı istediğim gibi oldu. bu program bitince sizin de emeğiniz epey olacak. çok sağolun.
 
Üst