AccessTr.neT
Rapor Kayıt Kaynağı Değiştirme Vba - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Rapor Kayıt Kaynağı Değiştirme Vba (/konu-rapor-kayit-kaynagi-degistirme-vba.html)

Sayfalar: 1 2 3 4 5 6


RE: Rapor Kayıt Kaynağı Değiştirme Vba - mgunes - 06/06/2020

Merhaba,
for döngüsünde
Kod:
Dim x As Integer
For x = 1 To 3
DoCmd.OpenReport "RAPRADMYNSYF" & x, acViewDesign
Reports!["RAPRADMYNSYF" & x].RecordSource = SRGRD20
DoCmd.Close acReport, "RAPRADMYNSYF" & x, acSaveYes
Next x

reports! dan sonraki kısmı nasıl düzenlemeliyim? Burada hata  veriyor. Tüm raporların kayıt kaynağı aynı sorgu ifadesi.


RE: Rapor Kayıt Kaynağı Değiştirme Vba - berduş - 06/06/2020

SRGRD20 eğer bu sorgu ismiyse çift tırnak içine almalısınız
"SRGRD20" gibi..


RE: Rapor Kayıt Kaynağı Değiştirme Vba - mgunes - 06/06/2020

Çift tırnağı denedim sonuç aynı. Run Time error: 2451 Deyimde girdiğiniz rapor adı ' "RAPRADMYNSYF" & X '  , yanlış yazılmış veya açılmamış veya varolmayan bir rapora başvuruyor. RAPRADMYNSYF1' i tasarım modunda açıyor (radyasyon muayenesi rapor şablonu)  ve hata iletisi çıkıyor.


RE: Rapor Kayıt Kaynağı Değiştirme Vba - berduş - 06/06/2020

kodu aşağıdaki gibi dener misiniz?
ben bendeki dosyalara göre isimlendirdim o nedenle sorgu ve rapor isimleri değişmeli
Dim x As Integer
For x = 1 To 3
DoCmd.OpenReport "RANAMNEZSYF" & x, acViewDesign
Reports("RANAMNEZSYF" & x).RecordSource = "SRGANAMNEZ2"
DoCmd.Close acReport, "RANAMNEZSYF" & x, acSaveYes
Next x



RE: Rapor Kayıt Kaynağı Değiştirme Vba - mgunes - 06/06/2020

Tamamdır çalıştı. Teşekkür ederim.


RE: Rapor Kayıt Kaynağı Değiştirme Vba - mgunes - 06/06/2020

If Me.AclRMynSec = "2020" Then
DoCmd.OpenForm "FRADYASYONMYN", acDesign
Forms!FRADYASYONMYN.RecordSource = "SELECT TACALISANKAYDI.*, TRADYASYON2020.* FROM TACALISANKAYDI LEFT JOIN TRADYASYON2020 ON TACALISANKAYDI.KIMNO = TRADYASYON2020.KIMNO;"
DoCmd.Close acForm, "FRADYASYONMYN", acSaveYes
DoCmd.OpenForm "FRADYASYONMYN", , , "TACALISANKAYDI.KIMNO=" & Me.LstKayitSorg
DoCmd.Close acForm, Me.Name
'******
Dim x As Integer
For x = 1 To 3
DoCmd.OpenReport "RAPRADMYNSYF" & x, acViewDesign
Reports("RAPRADMYNSYF" & x).RecordSource = "SRGRD20"
DoCmd.Close acReport, "RAPRADMYNSYF" & x, acSaveYes
Next x

ElseIf Me.AclRMynSec = "2019" Then

DoCmd.OpenForm "FRADYASYONMYN", acDesign
Forms!FRADYASYONMYN.RecordSource = "SELECT TACALISANKAYDI.*, TRADYASYON2019.* FROM TACALISANKAYDI LEFT JOIN TRADYASYON2019 ON TACALISANKAYDI.KIMNO = TRADYASYON2019.KIMNO;"
DoCmd.Close acForm, "FRADYASYONMYN", acSaveYes
DoCmd.OpenForm "FRADYASYONMYN", , , "TACALISANKAYDI.KIMNO=" & Me.LstKayitSorg
DoCmd.Close acForm, Me.Name

For x = 1 To 3
DoCmd.OpenReport "RAPRADMYNSYF" & x, acViewDesign
Reports("RAPRADMYNSYF" & x).RecordSource = "SRGRD19"
DoCmd.Close acReport, "RAPRADMYNSYF" & x, acSaveYes
Next x

End If
Bu kodları bir fonksiyon ile kısaltmanın yolu var mı? 2019 ve 2020 için form ve rapor kayıt kaynağını belirlediğim ifadeler, çalışıyor. Geriye dönük diğer yılları da alacak şekilde genişleteceğim. 
İyi çalışmalar.