Merhabalar;
Ekteki örnekte form1 de "adı" metin kutusunun güncelleştirme sonrasında olayından sonra belli bir koşula göre tablo1 de bulunan kayıtlardan form1 in kayıt kaynağı olan tablo2 ye otomatik kayıt eklemek istiyorum. Kayıt eklenirken de iki tane kriter kullanmak istiyorum.
1. Tablo1 de sıra no aynı olan kayıtların eklenmesi.
2. Seçilen kaydın kendisinin tekrar eklenmemesi.
Biraz karışık oldu galiba ama bir örnek vermek gerekirse;
form1 de adı açılan kutusunda örneğin "AA" seçilirse tablo1 de "AA" nın sıra_no' su 1 olduğu için, tablo1 de sırano su 1 olan "BB" ve "CC" kayıtlarının otomatik olarak eklenmek istiyorum. Fakat ekleme yapılırken "AA" nın ikinci bir kez eklenmesini istemiyorum.
Yardımcı olursanız sevinirim.
İyi çalışmalar.
Kayıt ekleme.
açıklamanız çok karışık ve anlaşılmaz durumda ne yapmak istediğinizi daha net yazın gerisini nasıl yol izlenir tekrar beraber düşünelim
Merhabalar;
Sayın C*e*l*o*y*c*e yapmak istediğim form1 de açılan kutudan bir değer seçtiğimde o kayıtla alakalı kayıtları eklemek. Örnek vermek gerekirse açılan kutuda sıra_no'su 1 olan "BB" yi seçtiğimde tablo1 de sıra nosu 1 olan diğer kayıtların (yani "aa ve "cc"yi) forma eklemek istiyorum.
Sayın C*e*l*o*y*c*e yapmak istediğim form1 de açılan kutudan bir değer seçtiğimde o kayıtla alakalı kayıtları eklemek. Örnek vermek gerekirse açılan kutuda sıra_no'su 1 olan "BB" yi seçtiğimde tablo1 de sıra nosu 1 olan diğer kayıtların (yani "aa ve "cc"yi) forma eklemek istiyorum.
Son Düzenleme: 12/01/2013, 15:12, Düzenleyen: serdar_20.
aşağıdaki kod işinizi görecektir. güncellendi olayını bu şekilde ayarlayın
Option Compare Database
Dim Sql As String
Private Sub ADI_AfterUpdate()
Guncelle
End Sub
Private Sub Guncelle()
Dim siraNo As String, oAdi As String
siraNo = Nz(ADI.Column(1)): If siraNo = "" Then Exit Sub
oAdi = ADI
Sql = "INSERT INTO Tablo2 ( ADI ) SELECT Tablo1.ADI FROM Tablo1 LEFT JOIN Tablo2 ON Tablo1.ADI = Tablo2.ADI WHERE (((Tablo1.SIRA_NO)= '" & siraNo & "') AND ((Tablo2.ADI) Is Null));"
DoCmd.RunSQL SQL
End Sub
Option Compare Database
Dim Sql As String
Private Sub ADI_AfterUpdate()
Guncelle
End Sub
Private Sub Guncelle()
Dim siraNo As String, oAdi As String
siraNo = Nz(ADI.Column(1)): If siraNo = "" Then Exit Sub
oAdi = ADI
Sql = "INSERT INTO Tablo2 ( ADI ) SELECT Tablo1.ADI FROM Tablo1 LEFT JOIN Tablo2 ON Tablo1.ADI = Tablo2.ADI WHERE (((Tablo1.SIRA_NO)= '" & siraNo & "') AND ((Tablo2.ADI) Is Null));"
DoCmd.RunSQL SQL
End Sub
Sayın fatih karagöl ilginiz ve verdiğiniz kodlar için teşekkür ederim.
(12/01/2013, 01:51)serdar_20 yazdı: 1. Tablo1 de sıra no aynı olan kayıtların eklenmesi.Verdiğiniz kodlar 1. maddedeki gibi kayıtları ekliyor. Fakat 2. maddede belirtiğim gibi seçilen kaydın tekrar eklenmemesini nasıl sağlayabiliriz. Rica etsem tekrar bakabilir misiniz?
2. Seçilen kaydın kendisinin tekrar eklenmemesi.
zaten mükerret eklemiyo olması lazım. ancak tablo 1 de iki tane farklı FF var. o bir karışıklık yaratıyo olabilir mi. onun haricinde kontrol ettiğimde her kaydı bir kere atıyordu kod. ?
Konuyu Okuyanlar: 1 Ziyaretçi