Skip to main content

AccessTr.neT


Güncelleme Sorgusu

access acemisi
access acemisi
24
2710

Güncelleme Sorgusu

#13
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.
Cevapla
#14
sn ozanakkaya sizin silme sorgusu işimi gördü.
Yine de En son önerinizi de uygulamaya çalışacağımTeşekkür ederim. Saygılar
Son Düzenleme: 11/10/2019, 14:49, Düzenleyen: access acemisi.
Cevapla
#15
Çok teşekkür ederin sn ozanakkaya bir butonla sorguları tek tek çalıştırmaya gerek kalmadı sağolasınız.
Cevapla
#16
(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
Son Düzenleme: 13/10/2019, 17:51, Düzenleyen: access acemisi.
Cevapla
#17
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.
Cevapla
#18
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);"
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da