27/08/2018, 21:32
notrino
Merhabalar,
Ekli örneğimde gerçekleştirmek istediğim birşey var. Bununla ilgili daha önce gönderdiğiniz şu kodu;
ve şu kodu;
birbirleriyle sentezleyerek çeşitli şekillerde kullandım ama istediğimi elde edemedim. İstediğim şey şudur;
Düğmeye basıldığında "alt formda" yeni kayıt açılacak, bu yeni kayıtta revizyon değerleri R1 olacak, ALAN2 değerleri aynen gelecek. (ben ALAN2 de gerekli değişiklikleri manuel yapacağım) Daha sonra düğmeye tekrar bastığımda yine "alt formda" yeni kayıt açılacak bu kez revizyon değerleri R2 olacak ve ALAN2 deki son yapılan değişiklikler ne ise onlar kopyalanıp yapıştırılacak. Yani her düğmeye basışım, "alt formdaki" yeni kayıtta revizyon değerini 1 arttırırken ALAN2 değerlerinin son hallerini kopyalayıp yapıştıracak.Örnek;
R0......Dede
R0....Nene
R0....Hala
olsun. Düğmeye basınca "alt formdaki" yeni kayıtta;
R1....Dede
R1....Nene
R1...Hala
gelecek. Devamında ben bu ALAN2 değerlerini manuel değiştirdiğimde yani;
R1.....Enişte
R1....Amca
R1....Dayı
yaptığımda tekrar düğmeye basarsam "alt formdaki" yeni kayıtta;
R2....Enişte
R2....Amca
R2....Dayı
gelmeli.
Gönderdiğiniz kodları nasıl organize edersem edeyim yeni kayda hep 3-6-9-12 şeklinde eski verilerle birlikte katlayarak veri kopyaladı. Bir de revizyon değerlerinde hep ilk kaydın revizyonunu bir arttırdı, son kaydı baz aldıramadım. Bunda sizin hatanız yok tabiki, ben senaryonun bu hale geleceğini öngöremediğimden basit örnekler üzerinden sizden çözüm istemiştim.
Bu arada Tablo ilişkilerinde bir değişiklik yapmamalıyım. Çünkü "ANA FORM" yeni bir kayıt açarsam aynı senaryolar bu kayıt içinde diğerinden bağımsız olarak işlemeli.
Teşekkürler..
Ekli örneğimde gerçekleştirmek istediğim birşey var. Bununla ilgili daha önce gönderdiğiniz şu kodu;
Kod:
Dim GRevizyon As Integer
If IsNull(Me.revizyon) Or Me.revizyon = "" Then
Me.revizyon = "R1"
Else
GRevizyon = Val(Mid(Me.revizyon, 2, Len(Me.revizyon)))
Me.revizyon = "R" & GRevizyon + 1
End If
ve şu kodu;
Kod:
Dim AccessTr_EskiKimlik As Integer
Dim AccessTr_EskiAlan As String
AccessTr_EskiKimlik = Me.Kimlik
AccessTr_EskiAlan = Me.alan1
DoCmd.GoToRecord , , acNewRec
Me.alan1 = AccessTr_EskiAlan
DoCmd.RunCommand acCmdSaveRecord
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Tablo2 ( alan2, Kimlik ) SELECT Tablo2.alan2, " & Me.Kimlik & " FROM Tablo2 WHERE (((Tablo2.Kimlik)= " & AccessTr_EskiKimlik & "));"
DoCmd.SetWarnings True
birbirleriyle sentezleyerek çeşitli şekillerde kullandım ama istediğimi elde edemedim. İstediğim şey şudur;
Düğmeye basıldığında "alt formda" yeni kayıt açılacak, bu yeni kayıtta revizyon değerleri R1 olacak, ALAN2 değerleri aynen gelecek. (ben ALAN2 de gerekli değişiklikleri manuel yapacağım) Daha sonra düğmeye tekrar bastığımda yine "alt formda" yeni kayıt açılacak bu kez revizyon değerleri R2 olacak ve ALAN2 deki son yapılan değişiklikler ne ise onlar kopyalanıp yapıştırılacak. Yani her düğmeye basışım, "alt formdaki" yeni kayıtta revizyon değerini 1 arttırırken ALAN2 değerlerinin son hallerini kopyalayıp yapıştıracak.Örnek;
R0......Dede
R0....Nene
R0....Hala
olsun. Düğmeye basınca "alt formdaki" yeni kayıtta;
R1....Dede
R1....Nene
R1...Hala
gelecek. Devamında ben bu ALAN2 değerlerini manuel değiştirdiğimde yani;
R1.....Enişte
R1....Amca
R1....Dayı
yaptığımda tekrar düğmeye basarsam "alt formdaki" yeni kayıtta;
R2....Enişte
R2....Amca
R2....Dayı
gelmeli.
Gönderdiğiniz kodları nasıl organize edersem edeyim yeni kayda hep 3-6-9-12 şeklinde eski verilerle birlikte katlayarak veri kopyaladı. Bir de revizyon değerlerinde hep ilk kaydın revizyonunu bir arttırdı, son kaydı baz aldıramadım. Bunda sizin hatanız yok tabiki, ben senaryonun bu hale geleceğini öngöremediğimden basit örnekler üzerinden sizden çözüm istemiştim.
Bu arada Tablo ilişkilerinde bir değişiklik yapmamalıyım. Çünkü "ANA FORM" yeni bir kayıt açarsam aynı senaryolar bu kayıt içinde diğerinden bağımsız olarak işlemeli.
Teşekkürler..