AccessTr.neT
Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma (/konu-bir-tablodaki-satirlarin-toplamini-update-ile-baska-tabloya-aktarma.html)



Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma - ahmet025896 - 28/01/2019

Herkese kolay gelsin.
Benim İCRA_DOSYALARI ve KESİNTİ_ANA_TABLO isminde iki adet tablom var.
KESİNTİ_ANA_TABLO içinde bulunan aynı dosya_kimlik numarasına ait icra dosyası kesinti tutar toplamlarını(KES_TOPLAM) İCRA_DOSYALARI ismindeki tabloda bulunan kimlik no ile eşleştirerek o dosyaya ait yapılan kesinti tutar toplamı sütununa (KES_TUTAR_TOPLAM) getirmek istiyorum. 
Lakin yapamadım. 
Yardımlarınız için şimdiden teşekkür ederim.
İyi çalışmalar.


 [Resim: do.php?img=8787]

[Resim: do.php?img=8788]

Denediğim sorgularda aldığım hata mesajları
[Resim: do.php?img=8793]
[Resim: do.php?img=8794]


Cvp: Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma - ozanakkaya - 29/01/2019

Merhaba, sorgunun Sql kaynağını aşağıdaki ile değiştirerek deneyiniz.

SQL Code
UPDATE İCRA_DOSYALARI SET İCRA_DOSYALARI.KES_TUTAR_TOPLAM = DSum("KES_TOPLAM","KESİNTİ_ANA_TABLO","[dosya_kimlik]=" & [Kimlik]);




Cvp: Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma - ahmet025896 - 29/01/2019

(29/01/2019, 10:54)ozanakkaya Adlı Kullanıcıdan Alıntı: Merhaba, sorgunun Sql kaynağını aşağıdaki ile değiştirerek deneyiniz.

SQL Code
UPDATE İCRA_DOSYALARI SET İCRA_DOSYALARI.KES_TUTAR_TOPLAM = DSum("KES_TOPLAM","KESİNTİ_ANA_TABLO","[dosya_kimlik]=" & [Kimlik]);


Bu şekilde uyarı veriyor. 

[Resim: do.php?img=8795]

KESİNTİ_ANA_TABLOSU tablosunda bulunan kesinti tutarlarını toplayarak İCRA_DOSYALARI tablosundaki 57 satırı güncelleştirmek istiyorum.


Cvp: Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma - ozanakkaya - 29/01/2019

Merhaba, tablonuzda kaç satır var bilmiyorum. Eklediğim sorguyu çalıştırmayı denediniz mi acaba? Sorgu KESİNTİ ANA TABLO isimli tablodaki KES_TOPLAM alanındaki veriyi dosya kimlik sütunundaki değere göre toplayıp icra dosyaları tablosuna aktarır.

Örneğinizde 276 dosya kimlik numaralı 3 satır var, toplamı 993. Bu toplamı icra tablosundaki Kimlik alanı 276 olan satırda 993 olarak aktarır. Siz ne istiyorsunuz anlamadım.


Cvp: Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma - ozanakkaya - 29/01/2019

Sadece aktarım yapılacak alanlar için, sorguyu aşağıdaki ile değiştirip deneyiniz.

SQL Code
UPDATE İCRA_DOSYALARI SET İCRA_DOSYALARI.KES_TUTAR_TOPLAM = DSum("KES_TOPLAM","KESİNTİ_ANA_TABLO","[dosya_kimlik]=" & [Kimlik])
WHERE (((İCRA_DOSYALARI.Kimlik) In (SELECT dosya_kimlik FROM KESİNTİ_ANA_TABLO LEFT JOIN İCRA_DOSYALARI ON KESİNTİ_ANA_TABLO.dosya_kimlik = İCRA_DOSYALARI.Kimlik GROUP BY KESİNTİ_ANA_TABLO.dosya_kimlik;)));




Cvp: Bir Tablodaki Satırların Toplamını UPDATE İle Başka Tabloya Aktarma - ahmet025896 - 30/01/2019

(29/01/2019, 12:07)ozanakkaya Adlı Kullanıcıdan Alıntı: Sadece aktarım yapılacak alanlar için, sorguyu aşağıdaki ile değiştirip deneyiniz.

SQL Code
UPDATE İCRA_DOSYALARI SET İCRA_DOSYALARI.KES_TUTAR_TOPLAM = DSum("KES_TOPLAM","KESİNTİ_ANA_TABLO","[dosya_kimlik]=" & [Kimlik])
WHERE (((İCRA_DOSYALARI.Kimlik) In (SELECT dosya_kimlik FROM KESİNTİ_ANA_TABLO LEFT JOIN İCRA_DOSYALARI ON KESİNTİ_ANA_TABLO.dosya_kimlik = İCRA_DOSYALARI.Kimlik GROUP BY KESİNTİ_ANA_TABLO.dosya_kimlik;)));


Öncelikle söze özür dileyerek başlamak istiyorum.  
"57 satırı güncellemek istiyorum" derken aklım örnek dosyaya değil proje dosyasına gitti.

"Bilmemek ayıp değil öğrenmemek ayıp" darbı meselinden hareketle kendim araştırıp yapayım, yaparken de bir şeyler öğrenirim dedim. Bulduğum örnekleri kendi dosyama uyarladım ancak olmadı. 
Ancak son gönderdiğiniz sorguyla istediğim oldu. 
Teşekkür ederim.