TANIMI
Bir tablo içeriğinde,bir kelimenin ya da bir tanımlamanın aranıp bulunması ve akabinde olması istenen bir tanımlama ile bir kriterin ya da durumun veya sonucun gerçekleşmesi (örneğin;hesaplama gibi) durumunda değiştirilmesidir.Tıpkı,üst menüden DÜZEN menüsünde yer alan Bul…Değiştir işlevi yerine kullanımı ile aynıdır.
Kısacası,değişmesi istenilen değer ya da değerlerin;ister sadece tekil olarak isterse de tablo içerisinde tüm kayıtlara yönelik olarak yaymak sureti ile gerçekleşmesi işlemidir.
Birkaç konu uyarlamalı örnekleme ile belki biraz daha netleştirmek yerinde olacaktır,bu anlatımlar için.
1) Bir uygulamada kişi ya da müşteri bilgisi (soyadı,firma adı gibi) bir bilgi değişimi söz konusu olabilir.bu nedenle,bir güncelleme sorgusu ile,bu kişi ya da müşteri aratılıp bulunduğunda yeni edinilen bilgi ile değiştirilmesinin sağlanması.
2) Bir uygulamada ürün bilginde (adı,birimi,üretilen veya getirtilen firmanın adı gibi) bir bilgi değişimi söz konusu olabilir.bu nedenle,bir güncelleme sorgusu ile,bu ürün aratılıp bulunduğunda yeni edinilen bilgi ile değiştirilmesinin sağlanması.
3) Bir uygulamada borç/alacak,girdi/çıktı veya hesaplama güncel kalan değerinin edinilmesi üzerine bir işlemler çalışması olabilir.bu değerlerin en son kaldığı tutarları elde etmek için güncelleme sorgusunun oluşturularak son durumlarının sağlanması.
Bunlara daha başka örneklemeler de katılabilir elbette.sonuçta,uygulamanın içeriği ve elde edilmek istenen amaç önemli.bunların nezdinde nasıl bir güncelleme gerekliliği söz konusu ise,o tercih ya da kriterler doğrultusunda bu güncelleme sorgularının oluşturulması geçerlidir.
OLUŞTURMA
EKLE-SORGU sekmesinden Sorgu Tasarımı seçilir.ardından,sorgu tasarım sayfasında o sorgu için kullanılacak bir ya da birkaç tablo / sorgu seçildikten sonra,Sorgu menüsünden Güncelleştir sekmesi seçilerek belirlenecek alanlarda kullanılacak kriterler (ölçüt) belirlenir ve güncelleştirme sorgusu oluşturulmaya başlanır.
ilgili tasarım sayfasında,Güncelleştir satırına hangi yeni tanımlama isteniyorsa (değiştirilecek yeni tanımlama) yazılır.ölçüt satırına da,tablodan aranıp bulunacak olan tanım yazılır.
oluşturulan sorgu tamamlanıp kaydedildiğinde,kaydedilen güncelleştirme sorgusu nesnesinin adının hemen başında ikon resmi de değişir.
1)DÜZ SORGU
(Sorgu Tasarımı üzerinden)
KULLANIM KALIBI
UPDATE guncelenecek_tablo_adi SET [degistirilecek_tanimlanacak_alan_adi] = [degeri_kullanilan_alan_adi1]*[degeri_kullanilan_alan_adi2];
ÖRNEK
Kod:
UPDATE DISTINCTROW siparis_bilgileri SET toplam_ucret = [birim_fiyat]*[siparis_adedi];
siparis_bilgileri adlı tablo içerisindeki toplam_ucret adlı alanını, birim_fiyat ve siparis_adedi adlı alanları birbiri ile çarpıp elde edilecek sonucu yazarak GÜNCELLE.
(Olay Yordamı üzerinden)
Bir buton denetiminin olay yordamı üzerinden düz sorgu yazılmak istendiği takdirde,SQL kod satırının öncesinde bu satırın bir üst ve bir alt satırlarına
DoCmd.SetWarnings False
…(SQL kod ifadesi satırı)…
DoCmd.SetWarnings True
ifadelerinin yazılması gerekmektedir ki,SQL sorgusu çalıştırıldığında herhangi bir UYARI MESAJI vermesi engellenerek arka planda akabinde çalışmasını tamamlamasını sağlaması gerçekleşsin.
ÖRNEK
(ana form üzerinde GÜNCELLE ifadesi verilmiş bir butonun TIKLANDIĞINDA olay yordamı içerisine yazılmak sureti ile)
Kod:
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE DISTINCTROW siparis_bilgileri SET toplam_ucret =" & Me.birim_fiyat * Me.siparis_adedi
DoCmd.SetWarnings True
AÇIKLAMASI
siparis_bilgileri adlı tablodaki toplam_ucret adlı alandaki değerleri, birim_fiyat ile siparis_adedi adlı alanların birbiri ile çarpılması sonucu elde edilen değerler ile GÜNCELLE.
2)KRİTERLİ SORGU
(Sorgu Tasarımı üzerinden)
KULLANIM KALIBI
“UPDATE Tablo_adi SET [degistirilecek_tanimlanacak_alan_adi]='yeni_ifade' WHERE [id_alan_adi]=" & [Forms]![ana_formun_adi]![id_degerinin_oldugu_metin_denetimi_adi]
ÖRNEK
Kod:
UPDATE Tablo1 SET meslegi =’TEKNİSYEN’ WHERE id=" & [Forms]![Form1]![id_txt];
AÇIKLAMASI
Form1 adlı formun üzerindeki id_txt adlı denetimdeki değere göre,Tablo 1 adlı tablo içerisindeki kayıt bilgisini bul ve meslegi adlı alanını TEKNİSYEN ifadesi ile GÜNCELLE.
(Olay Yordamı üzerinden)
ÖRNEK
(ana form üzerinde GÜNCELLE ifadesi verilmiş bir butonun TIKLANDIĞINDA olay yordamı içerisine yazılmak sureti ile)
Kod:
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Tablo1 SET meslegi =’TEKNİSYEN’ WHERE id=" & [Forms]![Form1]![id_txt];
DoCmd.SetWarnings True
ÖNEMLİ NOT
Kriter satırında direkt bir ifade değeri veya bir form üzerindeki bir denetim adı yazılırken;eğer tablodaki alanın Veri Türü METİN ise,TEK TIRNAK (‘) içerisinde yazılması gerekmektedir.
Eğer Veri Türü SAYI ise, sayı değerini olduğu gibi yazmak yeterlidir.
Verimli olması temennisi ile…İyi çalışmalar,saygılar.