Merhabalar,
Ekli örneğimde ekleme sorgusu var. Butona basınca A1 değerini "yeni ID1'e" aynen taşıyorum, T2 içindeki üç kaydı da "yeni ID1" numarası ile kaydetmesini istiyorum ama olmuyor. Neyi yanlış yapıyorum acaba? Tşk.
sayın notrino sorgunuzdaki temel hata tabloda bulduğu her kaydı tekrar eklemesinden kaynaklanıyor.
"sorgu1"deki "ID1" ifadesinin "F1" formundaki "ID1" almasını sağlamalısınız. Aşağıdaki örnekte istediğinizi yapıyor ama sorun şu sorguyu her çalıştırdığınızda "T2" tablosundaki her kaydı yeni ID1 üzerinden tabloya yeniden ekliyor her defasında "T2"deki veri 2 katına çıkıyor
(30/10/2018, 00:36)haliliyas yazdı: sayın notrino sorgunuzdaki temel hata tabloda bulduğu her kaydı tekrar eklemesinden kaynaklanıyor.
"sorgu1"deki "ID1" ifadesinin "F1" formundaki "ID1" almasını sağlamalısınız. Aşağıdaki örnekte istediğinizi yapıyor ama sorun şu sorguyu her çalıştırdığınızda "T2" tablosundaki her kaydı yeni ID1 üzerinden tabloya yeniden ekliyor her defasında "T2"deki veri 2 katına çıkıyor
Sayın halililyas,
Teşekkürler,
Evet dediğiniz gibi sürekli T2 veri sayısı iki katına çıkıyor, ben de bunu gözlemlemiştim, fakat ID atayamamıştım. Bunun VB de nasıl yapıldığını biliyorum aslında elimde kodlar var , eskiden buna benzer bir konu açmıştım. Amacım "ekleme sorgusunun" çalışmasını anlamak olduğundan bunu nasıl yapabilirim ona bakıyorum. İki katına çıkarmayacak şekilde, ekleme sorgusu ile son kaydın verilerini nasıl transfer edebilirim onu araştırıyorum . Bildiğiniz bir yol varsa, beklerim. Tşk.
Sorgunuzda herhangi bir ölçüt olmadığı için bu şekilde çalışıyor.
Forma G_Id adında denetim kaynağı olmayan metin kutusu ekle,
Butonun tıklandığında olayındaki
EskiA1 = Me.A1
kodunun altına
Me.G_Id = Me.ID1
kodu ekle,
sorgunun
Sql kodunu aşağıdaki ile değiştir.
INSERT INTO T2 ( A2, ID1 )
SELECT T2.A2, [Forms]![F1]![ID1] AS ID1
FROM T2
WHERE (((T2.ID1)=[Forms]![F1]![G_Id]));
Bu şekilde, sorguya ölçüt ekleyerek sadece son kaydın aktarılmasını sağlayabilirsiniz.