AccessTr.neT

Tam Versiyon: Güncelleştirme sorgusu
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayın hocalarım,
Güncelleştirme sorgusu ,Nerelerde,nasıl ve neden kullanılır,örnekle açıklamanıza ihtiyacım var.
Saygılarımla.
Sayın Mehmet Hocam,
Vermiş olduğunuz Linki en az 10 kere okudum,uygulamalar yaptım bozdum,güya birşeyler başaracakmışım gibi ama sonuç koca bir sıfır.Takdir ederseniz yaşta ilerledi disk dolu,kafa almıyor.
Şimdi derseniz kafa almıyorsa ne işin var burada,haksızsınız demem.Bende kendi çapımda bir şeyler üreteyim diyorum.Sizin kısadan ve anlayabileceğim bir dille soruma cevap verirseniz hatta varsa birde örnek eklerseniz memnun olurum,Uğraşamam derseniz yinede teşekkür ederim.
Saygılarımla.
O zaman şöyle diyelim: Güncelleştirme sorguları daha çok var olan bir tablodaki verilerin değiştirilmesi için kullanılır. Diyelim bir tablomuz var ve içinde personelin maaşları yazılı. Bu ay tüm personele zam yapmak gerektiğinde tek tek tüm maaşları güncellemek yerine bir güncelleme sorgusuyla maaş+artış formülüyle yüzdelik dilim hesabı üzerinden tüm maaşları güncellemiş oluruz. Bazen de alanı silmeden içindeki veriyi silmek gerekir. Bu durumda da veri değerlerini sayıysa sıfıra, string değer ise boşluğa ( "" ) dönüştürürüz. Buraya kadar anladıysak örnek ekleyerek daha da bilgiyi pekiştiririz.
Sayın fascioğlu,

(bu yazı,3.mesajınız akabinde yazılıp hazırlanmış fakat ancak şu an itibarı ile yayına verilme imkanı bulunabilmiştir,kendi adıma katılımcı olup paylaşımda bulunmak adına.)

Gerek sayın Mehmet bey tarafından yönlendirilen bağlantıda ve gerekse de internet ortamında bu talebinize yönelik olarak sayısız anlatımlar,bilgilendirmeler ve örnekler barındıran hayli sayfalar ya da dökümanlar ve siteler fazlasıyla mevcut.

Elbette ki,sizin açıklamalarınız nezdinde de olduğu gibi;sadece okumaların ve bilgiler edinmenin bir yere kadar yeterliliği de söz konusu olsa da yeri geldiğinde bu anlatımlarda sunulan bilgilendirmelerin bir örnek uygulama olmasına ya da örnek üzerinden görmeye de ihtiyaç duyulması muhtemeldir,kimi durumlarda.

Aslında şunu da yapabilirdiniz konunuzu açarken hem bilgilendirmelerini de yaparak hem de örneğinizi ekleyerek.bazı denemelerde bulunduğunuzu ve olumlu sonuçlar alamadığınızı beyan etmişsiniz.konunuzu açarken gerek bu bilgi talebinizi ve gerekse de hazırladığınız örnek denemelerini ve olası aldığınız hataları hem açıklamaları ile hem de ekran görüntüleri ile paylaşmış olsaydınız,katılımcılar tarafından;ya yine bilgi ya da örnek paylaşımları üzerinden belki daha verimli veya daha yerinde bir ilerleme söz konusu olabilirdi kanısındayım.

Kaldı ki,bu yöntemin bir diğer katkısı da şu olurdu;bu güncelleme sorgusu kullanımı hakkında açıklamalarınızdan anlaşıldığı üzere hayli araştırma yapmışsınız.az çok ne için kullanım durumları olduğunu da idrak etmişsinizdir.dolayısı ile,sizin düşündüğünüz bir örnek üzerinden bu bilgilendirme veya anlatımların yapılması daha yerinde olurdu böylece.
Anlaşılabilirliği ve bir nebze de olsa kullanım durumlarına ışık tutabilmek adına,birkaç açıklamada bulunabilmek için şu hususların bahsi yapılabilir yine de.

GÜNCELLEME SORGUSU TANIMI
Güncelleme sorgusu;özellikle de tüm ofis uygulamaları ya da çalışmaları veya dökümanları içerisinde bir kelimenin ya da bir tanımlamanın aranıp bulunması ve akabinde olması istenen bir tanımlama ile bir diğer ifade ile olması istenilen bir kriterin gerçekleşmesi durumunda değiştirilmesi kısacası üst menüden DÜZEN menüsünde yer alan Bul…Değiştir işlevi yerine kullanımı diye tanımlamasında bulunulabilir,en basit ifadeler ile değişmesi istenilen tanımlama da,ister sadece tekil olarak isterse de uygulama içerisinde genele yaymak sureti ile gerçekleşmesi sağlanabilir.bu kriter olarak elde edilmek istenen duruma veya tercihe göre değişim gösterebilir.

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.

GÜNCELLEME SORGUSU OLUŞTURMA
Güncelleme sorgularını iki şekilde oluşturmak mümkündür.ister kod ile isterseniz de sorgu nesneleri üzerinden direkt oluşturabilirsiniz.

1) KOD İLE
Visual Basic kod sayfası üzerinde herhangi bir olay yordamı içerisinde istenilen bir tanımlamanın yine istenilen bir kriter durumunun gerçekleşmesi sonucunda belirlenen yeni tanımlamaya göre değiştirilmesi işleminin uygulanması sağlanabilir.
Bunun için örnek kod ifadesi kalıbı belirtmek gerekirse;

DoCmd.RunSQL "UPDATE Tablo_adi SET [degistirilecek_tanimlanacak_alan_adi]='" & Me.yeni_tenimlamanin_uygulanacagi_metin_denetim_kutusu_adi & "WHERE [id]=" & Me.id

yalnız burada bir hususu da belirtmek yerind eoalcaktır.kod sayfasında bir Sql sorgu yazıldığında bir üst satırına

DoCmd.SetWarnings False ve bir alt satırına da DoCmd.SetWarnings True kod ifadelerini yazarak,bu sorgu çalıştırıldığında herhangi bir uyarı mesajı almaksızın direkt işlemin yapılmasını sağlamalısınız.

Kod:
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Tablo_adi SET [degistirilecek_tanimlanacak_alan_adi]='" & Me.yeni_tenimlamanin_uygulanacagi_metin_denetim_kutusu_adi & "WHERE [id]=" & Me.id
DoCmd.SetWarnings True

benzeri bir şekilde.

Güncelleme Sql kod ifadesi kullanılabilir.bu,tek bir kayıt için uygulanabileceği gibi,toplu olarak belirlenecek bir değerin yine istenen bir değer ile değiştirilmesi de sağlanabilir.bunun için de,bir şart veya kriter belirlenmesine ihtiyaç olmayacaktır.

2) SORGU MENÜSÜNDEN SEÇİM İLE
Bir diğer yöntem de,sorgu menüsünden Güncelleme Sorgusu seçilmek sureti ile de böyle bir sorgu oluşturulabilir.
Bunun için de,EKLE-SORGU sekmesinden Sorgu Tasarımı seçilir.ardından,sorgu tasarım sayfasında o sorgu için kullanılacak tablo 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.

Ayrıca,bu yöntemde ister tasarım aracılığı ile oluşturulabileceği gibi Sql Göster seçeneği seçilmek sureti ile direkt UPDATE (Güncelleme) sorgu manuel olarak da yazılabilir.

Bilginize…iyi çalışmalar,saygılar.
 
Sayın hocalaraım,
ilgi ve alakanız için çok teşekkür ederim,
-Verdiğiniz bilgiler ışığında sorumu araştırıp çözmeye çalışacağım.
Saygılarımla.