AccessTr.neT

Tam Versiyon: Vba Fonksiyon Örneği
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Merhaba,
modül kodları:
Public Sub KytKaynAyari(ByVal MvctForm As Access.Form)

Dim SqlStr, SqlStrRpr As String
' formun kayıt kaynağının ayarlanması
SqlStr = " SELECT TACALISANKAYDI.*, TRADYASYON" & MvctForm.AclRMynSec & ".* FROM TACALISANKAYDI LEFT JOIN TRADYASYON" & MvctForm.AclRMynSec & _
         " ON TACALISANKAYDI.KIMNO = TRADYASYON" & MvctForm.AclRMynSec & ".KIMNO"
SqlStrRpr = SqlStr & " WHERE (((TACALISANKAYDI.KIMNO)=[Formlar]![FRADYASYONMYN]![mtn_KimNo]))"

DoCmd.OpenForm "FRADYASYONMYN"
Forms!FRADYASYONMYN.RecordSource = SqlStr
DoCmd.OpenForm "FRADYASYONMYN", , , "TACALISANKAYDI.KIMNO=" & MvctForm.LstKayitSorg
DoCmd.Close acForm, MvctForm.Name

'' rapor kayıt kaynağı ayarlama kod bloğu
CurrentDb.QueryDefs("SqlRAPRADMYNSYF").SQL = SqlStrRpr 'burada raporların kullandığı ortak sorgunun yapısı değiştirilmiştir
End Sub
Tıklanma olayı:
Call KytKaynAyari(Me)
gibi düzenlendiğinde sistem çalışıyor. Ancak TRADYASYON tablosu ve FRADYASYONMYN formunu değişken olarak aşağıdaki gibi tanımladığımda düzenek hata veriyor.

Public Sub KytKaynAyari(ByVal MvctForm As Access.Form, ByVal ACILACAKFORM, TABLOADI As String)

Dim SqlStr, SqlStrRpr As String
' formun kayıt kaynağının ayarlanması
SqlStr = " SELECT TACALISANKAYDI.*, TABLOADI" & MvctForm.AclRMynSec & ".* FROM TACALISANKAYDI LEFT JOIN TABLOADI" & MvctForm.AclRMynSec & _
         " ON TACALISANKAYDI.KIMNO = TABLOADI" & MvctForm.AclRMynSec & ".KIMNO"
SqlStrRpr = SqlStr & " WHERE (((TACALISANKAYDI.KIMNO)=[Formlar]![ACILACAKFORM]![mtn_KimNo]))"

DoCmd.OpenForm "ACILACAKFORM"
Forms!ACILACAKFORM.RecordSource = SqlStr
DoCmd.OpenForm "ACILACAKFORM", , , "TACALISANKAYDI.KIMNO=" & MvctForm.LstKayitSorg
DoCmd.Close acForm, MvctForm.Name

'' rapor kayıt kaynağı ayarlama kod bloğu
CurrentDb.QueryDefs("SqlRAPRADMYNSYF").SQL = SqlStrRpr 'burada raporların kullandığı ortak sorgunun yapısı değiştirilmiştir
End Sub
Diğeri 
Call KytKaynAyari(Me, "FRADYASYONMYN", "TRADYASYON")
compile yapınca sorun yok, kişi kaydı olayını işletince takılıyor:" Run-Time '2102': Özellik sayfasında ya da bir makroda girdiğiniz form adı, 'ACILACAKFORM' , yanlış yazılmış veya varolmayan bir forma başvuruyor. "
Kaynak dosya: https://accesstr.net/konu-form-ve-rapor-...#pid171866
Public Sub KytKaynAyari(ByVal MvctForm As Access.Form, ByVal ACILACAKFORM As Access.Form, ByVal TABLOADI As String)

Dim SqlStr, SqlStrRpr As String
' formun kayit kaynaginin ayarlanmasi

SqlStr = " SELECT TACALISANKAYDI.*," & TABLOADI & MvctForm.AclRMynSec & " .* FROM TACALISANKAYDI LEFT JOIN " & TABLOADI & MvctForm.AclRMynSec & _
        " ON TACALISANKAYDI.KIMNO =" & TABLOADI & MvctForm.AclRMynSec & ".KIMNO"

SqlStrRpr = SqlStr & " WHERE (((TACALISANKAYDI.KIMNO)=ACILACAKFORM![mtn_KimNo]))"
DoCmd.OpenForm ACILACAKFORM.Name

ACILACAKFORM.RecordSource = SqlStr

DoCmd.OpenForm ACILACAKFORM.Name, , , "TACALISANKAYDI.KIMNO=" & MvctForm.LstKayitSorg
DoCmd.Close acForm, MvctForm.Name

' rapor kayit kaynagi ayarlama kod blogu
CurrentDb.QueryDefs("SqlRAPRADMYNSYF").SQL = SqlStrRpr 'burada raporlarin kullandigi ortak sorgunun yapisi degistirilmistir
End Sub


Call KytKaynAyari(Me, Form_FRADYASYONMYN, "TRADYASYON")
Merhaba, verdiğiniz düzenlemeyi yaptığımda açılan formda kişinin ilişkili TACALISANKAYDI tablosundaki bilgileri gelirken TRADYASYON tablosundaki kayıtları boş gelmektedir.
Merhaba sizin kodları uyguladım.
Fonksiyonsuz olarak deneyin birde değişkenleri manuel girip aynısımı olacak.

Birde alttaki yerleri neden eklediniz anlamadım.

.*
Ayrıca alttaki gibi kod ile sorgu sonucunu görebilirsiniz.

Msgbox  SqlStr
Msgbox SqlStrRpr
Fonksiyonsuz denediğimde; Run-time error '424' :Object required hatası oluşuyor.

"Birde alttaki yerleri neden eklediniz.." ifadenizle ilgili; bu kodu FVERIGIRIS formunda radyasyon muayenesi seçimi tıklanma olayına yazıyorum.
Call KytKaynAyari(Me, Form_FRADYASYONMYN, "TRADYASYON")
Aşağıdaki kodu nerde kullanacağımı anlamadım.
Msgbox  SqlStr
Msgbox SqlStrRpr
Sayfalar: 1 2