Merhabalar,
Ekli örneğimde 3 adet tablo ve bu tabloların formları var. Tablo ilişkilerinden de görüleceği üzere T1-T3 arası bire-çok, T1-T2 arası bire-bir ilişkili. Normalde hepsini F1 formu altında altformF2, altformF3 şeklinde konuşlandırdığımda tüm formlara veri girişinde problem yaşamıyorum. Çünkü F1 deki kimlik bilgisi otomatik olarak diğerlerine de yansıyor. Ancak örneğimdeki gibi F1 formundaki "butonlar yardımıyla" F2 ve F3'e gidersem veri girişi yapamıyorum. Çünkü F1 deki kimlik bilgisi o formlara taşınmıyor. Neyi yanlış yapıyorum? Teşekkürler..
Komut11'in tıklandığında olayındaki kodu aşağıdaki ile değiştirin.
Dim GSorgum As String
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
GSorgum = "SELECT * FROM Tablo2;"
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset(GSorgum, dbOpenDynaset)
rs.FindFirst "[Kimlik_T2] = " & Kimlik_T1
If rs.NoMatch Then
rs.AddNew
rs!Kimlik_T2 = Me.Kimlik_T1
rs.Update
End If
rs.Close
Set rs = Nothing
Set dbs = Nothing
DoCmd.OpenForm "F2", acNormal, , "[Kimlik_T2]=" & Me.Kimlik_T1
(18/09/2018, 15:22)ozanakkaya yazdı: [ -> ]Komut11'in tıklandığında olayındaki kodu aşağıdaki ile değiştirin.
Dim GSorgum As String
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
GSorgum = "SELECT * FROM Tablo2;"
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset(GSorgum, dbOpenDynaset)
rs.FindFirst "[Kimlik_T2] = " & Kimlik_T1
If rs.NoMatch Then
rs.AddNew
rs!Kimlik_T2 = Me.Kimlik_T1
rs.Update
End If
rs.Close
Set rs = Nothing
Set dbs = Nothing
DoCmd.OpenForm "F2", acNormal, , "[Kimlik_T2]=" & Me.Kimlik_T1
Merhaba Ozan Bey,
Teşekkürler. Ancak bu çözüm, benim bilgi sınırlarımı aştı. Daha basit olarak şöyle bir çözüm buldum forumlarda; Örneğin Git_F2 butonuna bastığımda açılan F2 formunun "yüklendiğinde" olay yordamına ;
Kod:
Me.Kimlik_T2.DefaultValue = Forms.F1.Kimlik_T1
kodunu ekledim ve çözüldü. Benim gibi bir acemi için çok daha kısa ve anlaşılır. Ancak şunu da belirtmeliyim ki gerek bendeki çözümde gerekse sizin çözümünüzde eğer F1 formunda "yeni kayıt" oluşturmuş ama henüz veri girmemişsem ve bu esnada da Git_F2 ya da Git_F3 butonunu tıkladıysam doğal olarak hata verip debug ekranı açılıyor. Bunu da F1'e veri girilmediyse butonları deaktive ederek çözmeyi uygun gördüm. Daha efektif çözüm varsa buna da açığım tabiki.
Merhaba, Komut11'in tıklandığında olayındaki kodu
If Me.NewRecord = False Then
DoCmd.OpenForm "F2", acNormal, , "[Kimlik_T2]=" & Me.Kimlik_T1
End If
kodu ile değiştirirseniz F1'de yeni kayıtta F2 formu açılmaz.
(20/09/2018, 11:33)ozanakkaya yazdı: [ -> ]Merhaba, Komut11'in tıklandığında olayındaki kodu
If Me.NewRecord = False Then
DoCmd.OpenForm "F2", acNormal, , "[Kimlik_T2]=" & Me.Kimlik_T1
End If
kodu ile değiştirirseniz F1'de yeni kayıtta F2 formu açılmaz.
Teşekkürler, işime yarayacak..