Visual basicte bir yordamı diğer formda kullanmak

1 2
12/04/2020, 23:16

mgunes

Modül içinde form kapatma yordamı tanımlayıp 

Kod:
Public Function KptmYrdm()
If Form.Dirty Then
    If MsgBox("Forma veri girdiniz ve Kaydet butonuna basmadan formu kapatmak istiyorsunuz. Değişiklikler kaydedilsin mi?", vbCritical + vbYesNo + vbDefaultButton1, "UYARI") = vbYes Then
        DoCmd.GoToRecord , , acNewRec
        DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "FrmErisim"
    Else
        Me.Undo
        DoCmd.Close
        DoCmd.OpenForm "FrmErisim"
    End If
Else
    DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "FrmErisim"
End If
End Function

formun butonun (kapatma komut düğmesi) tıklama olayında
Module1.KptmYrdm
şeklinde çağırdığımda hata alıyorum:  Variable not defined. Bu algoritmayı farklı formların kapatma butonlarında bu haliyle kullanamaz mıyız?
12/04/2020, 23:46

feraz

Eğer modülden yapacaksanız modül içindeki kodlarda Formadı felan yazılmalı gibi.Bu haliyle ekleyin dosyayı bakalım.
13/04/2020, 00:11

mgunes

Dosyayı ekledim. Sağolun vakit ayırdığınız için.
13/04/2020, 00:35

feraz

Merhaba.
Public olan kodu modüle ekleyin.Çağırmak için ise private içindeki kod ile çağırınız.Gördüğüm kadarıyla form kapatma kodları hep aynı.
Dosya indirme için kota konduğu için dosyayı ekleyemedim.

Kod:
Private Sub PmfKptA1_Click()
    Call KapatForm(Me, "FrmErisim")
End Sub


Kod:
Public Sub KapatForm(ByVal AnaForm As Access.Form, ByVal AcilacakForm As String)
If AnaForm.Dirty Then
    If MsgBox("Forma veri girdiniz ve Kaydet butonuna basmadan formu kapatmak istiyorsunuz. Deðiþiklikler kaydedilsin mi?", vbCritical + vbYesNo + vbDefaultButton1, "UYARI") = vbYes Then
        DoCmd.GoToRecord , , acNewRec
        DoCmd.Close acForm, AnaForm.Name
DoCmd.OpenForm AcilacakForm
    Else
        AnaForm.Undo
        DoCmd.Close
        DoCmd.OpenForm "AcilacakForm"
    End If
Else
    DoCmd.Close acForm, AnaForm.Name
DoCmd.OpenForm AcilacakForm
End If
End Sub
13/04/2020, 01:03

mgunes

Kodlarınız uygulanmış, sonuç alınmıştır. Bilgilerinizi cömertçe paylaştığınız için teşekkürlerimi iletiyorum.
13/04/2020, 01:18

feraz

Rica ederiz,bilgi paylaştıkça çoğalır
1 2