Skip to main content

AccessTr.neT


Visual basicte bir yordamı diğer formda kullanmak

Visual basicte bir yordamı diğer formda kullanmak

#7
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?
Son Düzenleme: 12/04/2020, 23:20, Düzenleyen: mgunes. (Sebep: Hatalı ifade)
Cevapla
#8
Eğer modülden yapacaksanız modül içindeki kodlarda Formadı felan yazılmalı gibi.Bu haliyle ekleyin dosyayı bakalım.
Cevapla
#9
Dosyayı ekledim. Sağolun vakit ayırdığınız için.
.rar ModulKullanimiOrnegi.rar (Dosya Boyutu: 130,86 KB | İndirme Sayısı: 1)
Cevapla
#10
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

Cevapla
#11
Kodlarınız uygulanmış, sonuç alınmıştır. Bilgilerinizi cömertçe paylaştığınız için teşekkürlerimi iletiyorum.
Cevapla
#12
Rica ederiz,bilgi paylaştıkça çoğalır Img-grin
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task