Kayıt karşılaştırma

1 2
12/01/2016, 17:40

kadirdursun

Arkadaşlar;
Bir arkadaşım için çalışma yapıyorum.
 Ürün kaydını yaparken barkodu yazınca daha önceki kayıtlarla karşılatırıp,
 Eğer ürün daha önce gelmediyse GARANTİ DURUMUNA ilk yenilme
 Eğer daha önce geldiyse ve son gelişi ile şimdiki kaydı arasında 1,5 sene geçmemiş ise GARANTİ DURUMUNA garantili
 Eğer daha önce geldiyse ve son gelişi ile şimdiki kaydı arasında 1,5 sene geçmiş ise GARANTİ DURUMUNA garanti dışı yazmasını istiyorum.
12/01/2016, 20:17

Puletin

Kolay gelsin
13/01/2016, 08:50

kadirdursun

Sayın Puletin;
Teşekkür ederim. Yeni bir ürün eklemek isteyince (yeni barkod) aşağıdaki satırda hata veriyor.

KontrolTarihi = Dlookup ("[VF_SEVK_TARIHI]", "T_ISLEMLER", "[BARKOD]='" & Me.BARKOD & "'")
13/01/2016, 13:33

atoz112

sayın kadirdursun,

imkan ve zaman bulamama nedeni ile uygulamanızı inceleme imkanı olmadı kendi adıma fakat,bahsettiğiniz hata duruma dair şu hususa dikkat çekmek yerinde olacaktır.

eğer yazdığınız için herhangi bir yazım hatası söz konusu değil ve geçerli ise,o zaman bir ihtimal;bu elde edilmek istenen dönüş değeri BOŞ (NULL) olarak geliyor olabilir.

bu nedenle,mevcut tablo veya sorgu olarak kullanılan T_ISLEMLER hangisi ise o tablo veya sorgu içeriğinde yazılan değer yoksa,bulamadığındna dolayı null değeri elde ediliyordur.bunu kontrol etmelisiniz.ve akabinde,böyle durumlar için BOŞ DEĞER KONTROLÜ sağlamalısınız.


bilginize...iyi çalışmalar,saygılar.
13/01/2016, 15:39

kadirdursun

Sayın atoz112;
Önecelikle teşekkür ederim. Bu sitedeki herkes çok özverili ve yardımseverler.

Eğer bulamazsa T_ISLEMLER tablosuna yeni kayıt eklemeli. BOŞ DEĞER KONTROLÜnden kastınız yoksa yeni kayıt eklemesi mi?
13/01/2016, 16:31

atoz112

Sayın kadirdursun,

3.mesajınızda yazmış olduğunuz
Kod:
KontrolTarihi = Dlookup ("[VF_SEVK_TARIHI]", "T_ISLEMLER", "[BARKOD]='" & Me.BARKOD & "'")

kod üzerinden gitmek üzere aşağıdaki açıklamaların yapılması uygun görülmektedir.

Yukarıdaki kodun anlamı şu:

Me.BARKOD  denetiminde yazılı BARKOD değerine göre,T_ISLEMLER adlı tablo veya sorgudaki VF_SEVK_TARIHI adlı alandaki değeri; KontrolTarihi adlı denetime yaz.

Yukarıdaki kodun işlem dönüşü şu:

Formun üzerindeki Me.BARKOD  denetimindeki yazılı değeri T_ISLEMLER adlı tablo veya sorgu içerisinde aynı değere sahip bir kayıt bulursa bu barkod değerinin olduğu kayıt bilgisinin VF_SEVK_TARIHI adlı alanındaki tarih değerini, KontrolTarihi adlı denetime yazması.

Fakat burada iki önemli husus söz konusu:

1) T_ISLEMLER  adlı tablo/sorgu içerisindeki BARKOD alanında benzer olmayan tek barkod kayıtları mı mevcut? 
Yoksa,benzer barkod değerine sahip birkaç kayıt da geçerli mi?

Eğer benzersiz tek kayıt varsa,o zaman sadece barkod kriterine göre kayıt aratmak geçerlidir.

Fakat,aynı barkod değeri ile başka kayıtlar da söz konusu ise,o zaman tek kriter ile aratmak yetersiz kalır.çünkü;aynı barkod değerinin hangi kayıt bilgisini yazacak? Bunu gidermek için,başka bir ya da birkaç kriter daha eklenmeli ki,tam olarak istenen kayıt bilgisine ulaşılabilsin.

2) Eğer Dlookup fonksiyonu ile elde edilmek istenen değer için yazılı olan BARKOD kriterine göre arama yapıldığında geri dönüş olarak bir değer elde edilemeyip aksine BOŞ (NULL) değer söz konusu ise,bu da doğal olarak bir hata vermesine neden olacaktır.

Bunun için de,ya NZ Fonksiyonu kullanılmalı ya da öncesinde barkod kontrolü yaptırılarak,bu T_ISLEMLER  adlı tablo/sorgu içerisindeki BARKOD alanında form üzerindeki barkod denetimindeki değer var mı yok mu,varsa Dlookup fonksiyonunun çalıştırılması yoksa da barkod değerinin tekrar yazdırılması gibi bir kontrol yaptırılabilir.

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