Ekleme Sorgusu

29/10/2018, 20:40

notrino

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.
29/10/2018, 23:03

ozguryasin

https://accesstr.net/konu-siparis-formun...#pid152309

konudaki 3 mesajı inceleyiniz işinizi görecektir.
30/10/2018, 00:36

berduş

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, 14:10

notrino

(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.
30/10/2018, 14:49

ozanakkaya

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.
30/10/2018, 15:23

notrino

(30/10/2018, 14:49)ozanakkaya yazdı: 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.

Teşekkürler