Accessde ID alanına göre tekrarsız kayıt girme

1 2
29/04/2015, 10:41

atoz112

sayın cetinyildizz,

öncelikle bir düzeltmede bulunmak gerektiği düşüncesi ile açıklamakta fayda var kanısındayım.

bahsini yaptığınız cbo_VarlikKodu_AfterUpdate buton içeriğinde yazılı olan kod ifadeleri,sizin tabiriniz ile GEREKSİZ görülerek iptal edilmemiştir.sadece,NOT:İPTAL EDİLMİŞTİR ifadesi ile etkisiz bırakılmıştır.

gereği düşünülmeyen kodlar için de yine kendi içeriklerinin ilk satırında GEREKMEDİĞİ İÇİN İPTAL EDİLMİŞTİR
ifadesi kullanılarak kullanım dışı bırakılmıştır.çünkü;bu kodların yer aldığı işlemleri yapan kodlar yeni düzenlemesi yapılan kodlar içerisine dahil edilmiştir.

bu açıklama da SADECE sizin vurgu yaptığınız şekilde olmadığını beyan etmek adına,konunuzdaki eklenen düzenlenmiş haldeki örneği incelemeyebilecek olan üyelerin ya da katılımcıların herhangi bir yanlış yoruma neden olmaksızın yapılan iptal ya da etkisiz bırakma işlemlerinin ne için uygulandığının altını çizmek ve her iki ifadenin farkını belirtmek içindir.

cbo_VarlikKodu_AfterUpdate butonunun içeriğinin etkisiz bırakılmasının nedeni de;konunuzu açarken
talep ettiğiniz mükerrer kayıt kontrolünü elde etmek için sonucu görme esnasında içeriğinde barındırdığı kodlamadan dolayı sürekli uyarı mesajının çıkarak dikkat dağıtmasını engellemek,kontrol sonucunu sağlamak esnasında her seferinde ekranda belirmesini engellemek içindir.sonrasında,siz;tekrar isteğinize göre geçerli kılabilirsiniz elbette.

ayrıca,uygulamanızdaki talebinize yönelik olarak yapılan düzenlemeler SADECE talebinizin sağlanması için yapılan çalışmalar ile sınırlıdır.bunun dışında herhangi bir düzenleme,değiştirme yapılmamıştır,uygulamanız üzerinde.

son olarak,talebinize yönelik yapılan bu işlemler neticesinde sorununuzun çözüme ulaşıp ulaşmadığını da
bilgilendirme notu olarak,yine konunuzda belirtebilir misiniz lütfen.böylece,çözüm söz konusu ise konunuzun Cevaplanmış Sorular kategorisine taşınmasını,yok eğer çözüm yeterli olmadı ise yeni gelişmeler neticesinde bunun da bilgilendirmesini yaparak,yeni çözümler üretilmesine imkan sağlayabilirsiniz.bilginize.

iyi çalışmalar,
saygılar.
29/04/2015, 11:55

cetinyildizz

Sayın Atoz112,


Sorunum çözüldü.Konu ile ilgili desteğiniz için tekrar teşekkür ederim.

Açıklama satırlarında GEREKMEDİĞİ İÇİN İPTAL EDİLMİŞTİR ibaresini bazı yerlerde kullanmışsınız. Bizim bahsetmiş olduğumuz kod bloğunda ise İPTAL EDİLMİŞTİR ibaresini kullanmışsınız. Bende buna dikkat etmeyerek GEREKSİZ GÖRÜP İPTAL ETMİŞSİNİZ ibaresini kullandım.

Bir önceki yorumumda bu sorun ile ilgili paylaştığınız çözümü inceleyen arkadaşlar için yanlış bir yönlendirme olmaması adına bir açıklama yapmıştım. Zaten programın tamamına hakim olmadığınız için ve ben programın tamamını göndermediğimi daha öncede belirttiğim için bazı kodları gereksiz görüp iptal etmiş olsanız bile bu sizin bilginiz ile ilgili bir şüphe uyandırmayacaktır.

Benim size göndermiş olduğum programda mükerrer kayıt açıyordu. Sizin düzenleyip gönderdiğiniz programda ise bu sorun çözüldü. İnceleyen arkadaşlar zaten farkına varacaktır.

Bu konuyu yorumlardan takip eden arkadaşlar için yanlış bir anlaşılmanın önüne geçtiğiniz içinde ayrıca teşekkür ederim.

İyi çalışmalar,
29/04/2015, 12:45

atoz112

sayın cetinyildizz,

mükerrer kayıt sorununuza dair talebinizin dışında yapılan inceleme neticesinde,gözlemlenen bir hususa yönelik olarak da bazı açıklamalarda bulunmanın gerekli olduğu kanısındayım.bu açıklama da,öncekiler gibi yapıcı olması ve uygulamnızın biraz daha verimli olması adınadır.

formunuza eklediğiniz cbo_VarlikKodu adlı açılan kutunun  bu hali ile amacı,bu denetimden bir değer seçmek için
hazırlanmış olsa gerek.fakat,içeriğinde değerler barındırması için herhangi bir kayıt kaynağı ile ilişkilendirme
olmadığı için bir seçim yapılamayacağından dolayı ancak üzerine yazmak sureti ile bilgi girişi yapılabilmektedir.
doğal olarak da,hemen akabinde Aradığınız Kayıt Bulunamadı diye bir uyarı mesajı ekranda belirmektedir.

elbette;cbo_VarlikKodu_AfterUpdate kod içeriği ile,bu açılan kutudan yapılacak bir seçim sonrası
txt_Departman ve txt_Kullanici adlı metin kutularına değerlerin getirilmesini uygulatmak istemişsiniz.
fakat,Dlookup komutları ile içeriğinden veriler almak istediğiniz qr_VarlikKullaniciDepartman adlı sorguda
oluşturma hatasından dolayı bu sonuçlar boş geldiğinden istenen sonuçların elde edilmesi de söz konusu olmamaktadır.buna bir diğer sebep de,form üzerindeki cbo_VarlikKodu adlı açılan kutunun ÖZELLİKLER-VERİ sekmesindeki satır kaynağının boş bırakılmasıdır.bu sorunu gidermeniz ve çözüm olması için,şunları yapmanız gerekmektedir:

1) form üzerindeki cbo_VarlikKodu adlı açılan kutunun ÖZELLİKLER-VERİ sekmesindeki satır kaynağını
qr_VarlikKullaniciDepartman sorgu adını seçerek dahil ediniz.

2) qr_VarlikKullaniciDepartman adlı sorguyu tasarım olarak açınız.bu sayfanın herhangi bir yerinde sağ tuşa basarak SQL GÖSTER ifadesini seçiniz.aşağıdaki sorguyu,mevcut olan sorgu ile değiştirerek kaydediniz.formu çalıştırdığınızda,sonuçları göreceksinizdir.

Kod:
SELECT tbl_VarlikKullanicisi.Varlik_Kodu, tbl_Departman.Departman, tbl_KullaniciBilgileri.Adi_Soyadi
FROM (tbl_Departman RIGHT JOIN tbl_VarlikKullanicisi ON tbl_Departman.ID = tbl_VarlikKullanicisi.Departman) LEFT JOIN tbl_KullaniciBilgileri ON tbl_VarlikKullanicisi.Kullanici = tbl_KullaniciBilgileri.Kimlik
GROUP BY tbl_VarlikKullanicisi.Varlik_Kodu, tbl_Departman.Departman, tbl_KullaniciBilgileri.Adi_Soyadi;

ayrıca,öneri olması adına;isteğe göre eğer sadece bu listedekilerle sınırlı tutulmayıp harici olarak cbo_VarlikKodu adlı açılan kutunun içeriğine yeni tanımlamalar da Listede Yokken Olay Yordamı aracılığı ile yeni değer girme işlemleri de yaptırılabilir.veyahut da,cbo_VarlikKodu adlı açılan kutunun hemen yanına bir buton ilave edip veya çift tıklandığında olay yordamına,bu açılan kutunun kaynağını oluşturan tablo içerisine yeni kayıtların girilmesi veya eskiler üzerinde düzeltmelerin yapılması da sağlanabilir.alternatif kullanımlar söz konusu olur,bu gibi tercihler olması istendiği takdirde elbette.Listede yokken işlemi için,site içerisindeki arama sayfasına bu şekilde veya NotInList diye yazdığınız takdirde,edineceğiniz konulardaki bilgileri ve örnekleri incelemek sureti ile denemelerde bulunabilirsiniz.denemeleriniz neticesinde sorunlara veya hatalara maruz kalırsanız,konunuzda veya yeni açacağınız konularınızda bahsini yaparak çözüm taleplerinde bulunabilirsiniz.

bu nedenle,uygulamanızdaki amacınıza yönelik olarak,eğer bu belirtilen hususlar tarafınızdan uygun görüldüğü takdirde,yeniden bir düzenlemeye gitmek sureti ile uygulamanızda iyileştirmeler yapmanız da sizin adınıza verimli olacaktır kanısındayım.böylece,amacına uygun bir işleyiş ile kullanımı söz konusu olacaktır.bilginize.

iyi çalışmalar,saygılar.
29/04/2015, 14:14

cetinyildizz

Program üzerindeki detaylı incelemeleriniz sonucu verdiğiniz bilgiler gerçekten yararlı oluyor.

Programın bendeki orginal halinde bütün kayıtları istediğim alanlara getiriyorum. Size göndermiş olduğum formda  bazı verileri silmek zorunda kaldığım için böyle bir hata söz konusu olmuş olabilir. Ancak göndermiş olduğunuz Sql i de çalıştırdığımda doğru sonucu aldım.

Envanter Hareket formu üzerindeki comboboxlar da veya textboxlar da listede yokken olayına herhangi bir kod yazmadım. Bunun sebebi ise kullanıcının satın alınmamış bir varlık için envanter hareketi oluşturmaya çalışması zaten bir hata olacaktır.

Örneğin ; Bu programı bütün varlıkların yeni alınmış olduğu bir şirkette kullanacağımızı düşünürsek zaten ilk adım Satın Alma işlemini kayıt ederek varlığı envantere eklemek olacaktır. Varlık envantere eklendiğinde bununla ilgili bir envanter hareketi (İlk hareket olacağı için "Kullanıma Sunma" hareketi olacaktır) oluşturmamız gerekecektir. Bu varlığın bir notebook olduğunu düşünelim. Notebook arızalandığında Servis, Bakım ve Onarım formunda gerekli alanları doldurmamız gerekecektir. Aynı zamanda varlığı envanter hareketleri formunda geri alıp gerektiği takdirde kullanıcıya da geçici kullanım kaydı açmamız gerekecektir.

Programın genel işleyişini bu örnekde kısaca anlatmaya çalıştım. Umarım anlaşılır olmuştur.

Programın görselini EK' te paylaştım. Buradan da anlayacağınız üzere aslında Envanter hareketlerini aşağıdaki gibi sıralayabiliriz:

1) Satın Alma
2) Kullanıma Sunma
3)Kullanımdan Kaldırma
4)Geçici Kullanım
5)Geri Alma
6) Servis,Bakım ve Onarım

Ben, Envanter Hareketleri formunda Satın Alma ve Servis, Bakım ve Onarım hareketlerini tutmadım. Aslında bunlar da birer envanter hareketidir. Farklı formda tutmamın sebebi bunlarla ilgili daha detaylı alanlara ihtiyaç olabileceği için formu şişirmek istemedim.

Sizin belirtmiş olduğunuz cbo_VarlıkKodu alanına değer gelebilmesi için öncelikle satın alma formunda varlıkla ilgili kayıt açılması gerekmektedir. Satın Alma formunda cbo_Sınıf ve cbo_VarlıkOzellikleri alanlarının NotInList olayını kullandım.

Bilgilerinize...

İyi Çalışmalar,
29/04/2015, 15:37

atoz112

sayın cetinyildizz,

konunuzda kullanmayı düşündüğünüz uygulamanıza yönelik olarak bahsini yaptığınız bu açıklamalarınız ve
görsellik katma adına eklediğiniz resimler ile;

site içerisinde benzer soruna veya duruma dair araştırmalarda bulunabilecek üyelerin bu konuda bilgiler edinmelerine ve işleyişi öğrenmelerine imkan sağlamış olduğunuz için site adına teşekkür ederiz.

uygulamanızı tamamlayıp hazır hale getirdiğinizde,konunuzun 6.mesajında belirttiğiniz gibi örnekler kategorisi içerisinde paylaşıma sunacak olmanız da güzel bir davranış niteliğindedir.teşekkürler.

konunuzun çözüme kavuşturulduğunu beyan etmeniz üzerine,Cevaplanmış Sorular kategorisine aktarılmıştır.bilginize.

iyi çalışmalar,
saygılar.
1 2