Skip to main content

AccessTr.neT


Rapor Kayıt Kaynağı Değiştirme Vba

Rapor Kayıt Kaynağı Değiştirme Vba

#13
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.
Cevapla
#14
SRGRD20 eğer bu sorgu ismiyse çift tırnak içine almalısınız
"SRGRD20" gibi..
Cevapla
#15
Ç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.
Cevapla
#16
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
Cevapla
#17
Tamamdır çalıştı. Teşekkür ederim.
Son Düzenleme: 06/06/2020, 21:20, Düzenleyen: mgunes.
Cevapla
#18
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.
Son Düzenleme: 06/06/2020, 23:10, Düzenleyen: mgunes.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da