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
Bir Form Açıldığında Hangi Formdan O Forma Gelindiğini Anlamanın Yolu ?
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.
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)
Topraktan hep güzel şeyler biter . (Akşemseddin)
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
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ş)
Konuyu Okuyanlar: 1 Ziyaretçi