Skip to main content

AccessTr.neT


Bir Form Açıldığında Hangi Formdan O Forma Gelindiğini Anlamanın Yolu ?

Bir Form Açıldığında Hangi Formdan O Forma Gelindiğini Anlamanın Yolu ?

#1
uygulamanın form1 den form2 yi açabiliyorum birde form1 den form 3 geçip şifre vs girip ordaki birço kseçenektende form2 yi açabiliyorum. form2 ye nereden geldiğime göre form2 deki gerçi tuşunun işlevinin değişmesini istiyorum yani form1 den geldiysem form2 deki geri gel butonuna bastığımda form1 e gelcek eğer form3 den geldiysem form3 e geri dönecek. şuan nerden gelirsem geleyim form1 e dönüş yapıyor form3 e hızlı şekilde geri dönüşü nasıl yaparım ?

form2 yi tamamen kopyalayıp form3 den giden ile form1 den giden olarak ayırabilirim ancak başka türlü yolu varsa bilmek isterim teşekkürler
Cevapla
#2
Oturum açtığınızda gezinti yaptığınız form isimlerini tutabileceğiniz bir tablo ekleyip
bu tuttuğunuz kayıtların ID lerini form açmakta kullandığınız Vba koduna kriter olarak belirleyebilirsiniz.

Bu sayede nereden gelip nereye gittiğiniz kayıt altına alınıp gezintide kaybolma riskini sıfıra indirebilirsiniz.
Toprağa her türlü kötü şey atılmasına rağmen
Topraktan hep güzel şeyler biter . (Akşemseddin)
Cevapla
#3
Cevap yazmam yeni farkettiğim için biraz geç oldu ama aynı sıkıntıyı yaşayanlar olabilir diye örnek kod yazdım. Aşağıdaki kodun tamamını burada yazdığım için kodu test etmeden yazdım.
Deneyipte hata alan olursa nerede hata olduğunu lütfen yazsın

Her Form'a Birer adet btnÇıkış isimli Button ekleyip Text'ini Geri Dön Yazın
Aynı Zamanda Her Forma 3 adet Diğer Formların isimlerinin Yazılı Olduğu Butonlar Ekleyin
Örnek :
Form1 üzerine
btnForm2 yanına btnForm3 onunda yanına btnForm4

Form2 üzerine
btnForm1 yanına btnForm3 onunda yanına btnForm4

Form3 üzerine
btnForm1 yanına btnForm2 onunda yanına btnForm4

Form4 üzerine
btnForm1 yanına btnForm2 onunda yanına btnForm3

gibi ve tıklama olaylarına Tıkladığınız Formu Açıcak komutu yazın
Örnek Form1 üzerindeki btnForm4 e bastınız olayına Form4.Show yazın

'Module Sayfası

Public Form_Takip as string =""

Public Sub Nereden_Geldiysen_Oraya_Don(Geri_Don as String)

    if Len(Geri_Don) > 0 then
        Select Case Right(Geri_Don, 2)
            Case " 1"
                  Form1.Show
            Case " 2"
                  Form2.Show
            Case " 3"
                  Form3.Show
            Case " 4"
                  Form4.Show
        End Select
    Form_Takip = Left(Form_Takip, Len(Form_Takip-2))     
    End if
End Sub



'Form1 Kod Sayfası
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    Form_Takip = Form_Takip & " 2"
    Form2.Show
End Sub

Private Sub btnÇıkış_Click(sender As Object, e As EventArgs) Handles btnÇıkış.Click
    Me.Close()
    Call Nereden_Geldiysen_Oraya_Don(Form_Takip)
End Sub


'Form2 Kod Sayfası
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
    Form_Takip = Form_Takip & " 3"
    Form3.Show
End Sub

Private Sub btnÇıkış_Click(sender As Object, e As EventArgs) Handles btnÇıkış.Click
    Me.Close()
    Call Nereden_Geldiysen_Oraya_Don(Form_Takip)
End Sub


'Form3 Kod Sayfası
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load
    Form_Takip = Form_Takip & " 4"
    Form4.Show
End Sub

Private Sub btnÇıkış_Click(sender As Object, e As EventArgs) Handles btnÇıkış.Click
    Me.Close()
    Call Nereden_Geldiysen_Oraya_Don(Form_Takip)
End Sub


'Form4 Kod Sayfası
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles Me.Load
    Form_Takip = Form_Takip & " 1"
    Form1.Show
End Sub

Private Sub btnÇıkış_Click(sender As Object, e As EventArgs) Handles btnÇıkış.Click
    Me.Close()
    Call Nereden_Geldiysen_Oraya_Don(Form_Takip)
End Sub
Son Düzenleme: 31/05/2022, 23:04, Düzenleyen: mrproturk. (Sebep: Açıklamam Eksik olmuş)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da