AccessTr.neT
Güncelleme Sorgusu - 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ığı: Güncelleme Sorgusu (/konu-guncelleme-sorgusu--85788.html)

Sayfalar: 1 2 3 4 5


Cvp: Güncelleme Sorgusu - ozanakkaya - 11/10/2019

Uygulamaya form ekle, forma buton ekle. Butonun tıklandığında olayına

DoCmd.SetWarnings False

DoCmd.RunSQL "INSERT INTO dimbilli ( kisi_idfk, adisoyadi, tcno, dimbilli ) SELECT kisi_id, adisoyadi, tcno, dimbilli FROM tbl_kisiler WHERE (dimbilli=1);"
DoCmd.RunSQL "UPDATE dimbilli INNER JOIN tbl_kisiler ON dimbilli.kisi_idfk = tbl_kisiler.kisi_id SET dimbilli.kisi_idfk = [tbl_kisiler].[kisi_id], dimbilli.adisoyadi = [tbl_kisiler].[adisoyadi], dimbilli.dimbilli = [tbl_kisiler].[dimbilli], dimbilli.tcno = [tbl_kisiler].[tcno] WHERE ((dimbilli.dimbilli=1));"
DoCmd.RunSQL "DELETE dimbillİ FROM dimbillİ WHERE (dimbilli<>1);"

DoCmd.SetWarnings True


kodu ekle, Ekleme, güncelleştirme ve silme sorgusu çalışsın.


Cvp: Güncelleme Sorgusu - access acemisi - 11/10/2019

sn ozanakkaya sizin silme sorgusu işimi gördü.
Yine de En son önerinizi de uygulamaya çalışacağımTeşekkür ederim. Saygılar


Cvp: Güncelleme Sorgusu - access acemisi - 11/10/2019

Çok teşekkür ederin sn ozanakkaya bir butonla sorguları tek tek çalıştırmaya gerek kalmadı sağolasınız.


Cvp: Güncelleme Sorgusu - access acemisi - 13/10/2019

(11/10/2019, 14:43)ozanakkaya yazdı: Uygulamaya form ekle
Sn ozanakkaya sizin eklediğiniz bu kodları başka örneklerde uygulama adına ,daha iyi anlama adına alıştırmalar yapıyorum da ;

tek değiklik olarak dimbilli tablosunun adını tbl_dimbilli olarak değiştirdiğimde ,aşağıdaki kodu (koyu işaretle yazdığım şekliyle) yazsam yeterli olur mu?
tbl_kisiler tablosundaki dimbilli alanı ile 2.tablonun adı aynı olmaması adına.Esasen baştan tasarımı iyi yapmam gerekiyordu.
Zannedersem sorgulardaki kodlarda değişmesi gerekiyor.Açıklama yazarsanız sevinirim saygılar

DoCmd.SetWarnings False

DoCmd.RunSQL "INSERT INTO tbl_dimbilli
( kisi_idfk, adisoyadi, tcno, dimbilli ) SELECT kisi_id, adisoyadi, tcno, dimbilli FROM tbl_kisiler WHERE (dimbilli=1);"
DoCmd.RunSQL "UPDATE dimbilli INNER JOIN tbl_kisiler
ON dimbilli.kisi_idfk = tbl_kisiler.kisi_id SET dimbilli.kisi_idfk = [tbl_kisiler].[kisi_id], dimbilli.adisoyadi = [tbl_kisiler].[adisoyadi], dimbilli.dimbilli = [tbl_kisiler].[dimbilli], dimbilli.tcno = [tbl_kisiler].[tcno] WHERE ((dimbilli.dimbilli=1));"
DoCmd.RunSQL "DELETE dimbillİ FROM dimbillİ WHERE
(dimbilli<>1);"

DoCmd.SetWarnings
True


Cvp: Güncelleme Sorgusu - ozanakkaya - 13/10/2019

Yaptığınız değişiklik ilk sorgu için tamam, ancak altta 2 sorgu kodu daha var. 


DoCmd.RunSQL "UPDATE dimbilli INNER JOIN tbl_kisiler ON dimbilli.kisi_idfk = tbl_kisiler.kisi_id SET dimbilli.kisi_idfk = [tbl_kisiler].[kisi_id], dimbilli.adisoyadi = [tbl_kisiler].[adisoyadi], dimbilli.dimbilli = [tbl_kisiler].[dimbilli], dimbilli.tcno = [tbl_kisiler].[tcno] WHERE ((dimbilli.dimbilli=1));"
DoCmd.RunSQL "DELETE dimbillİ FROM dimbillİ WHERE (dimbilli<>1);"


Bu tür değişikliklerde,  mesela;

DoCmd.RunSQL "UPDATE dimbilli INNER JOIN tbl_kisiler ON dimbilli.kisi_idfk = tbl_kisiler.kisi_id SET dimbilli.kisi_idfk = [tbl_kisiler].[kisi_id], dimbilli.adisoyadi = [tbl_kisiler].[adisoyadi], dimbilli.dimbilli = [tbl_kisiler].[dimbilli], dimbilli.tcno = [tbl_kisiler].[tcno] WHERE ((dimbilli.dimbilli=1));"

Kodu, kodda çift tırnak arasındaki kısmı kopya, yeni sorgu oluştur, yeni sorgunun Sql kaynağı kısmına kopyaladığın sorguyu yapıştır, sorguyu tasarımda açıp düzenlemeleri yap ve düzenlenmiş sorgunun Sql kaynağını formun Vba sayfasında kullan.


Cvp: Güncelleme Sorgusu - access acemisi - 13/10/2019

güncelleme sorgusu böyle denedim hata veriyor

"UPDATE tbl_dimbilli INNER JOIN tbl_kisiler ON dimbilli.kisi_idfk = tbl_kisiler.kisi_id SET dimbilli.kisi_idfk = [tbl_kisiler].[kisi_id], dimbilli.adisoyadi = [tbl_kisiler].[adisoyadi], dimbilli.dimbilli = [tbl_kisiler].[dimbilli], dimbilli.tcno = [tbl_kisiler].[tcno] WHERE ((dimbilli.dimbilli=1));"

DoCmd.RunSQL "DELETE tbl_dimbilli FROM dimbilli WHERE (dimbilli<>1);"