Sorgu Ölçütünde "DATE" -SQL derleme Hatası

1 2 3
04/10/2015, 18:14

atoz112

Sayın yorum70,

Bahsettiğiniz talebinize geçmeden öncesinde,uygulamanız incelendiğinde aşağıdaki hususlara yönelik olarak bilgilendirmelerde bulunma gereksinimi söz konusu olmuştur.

1) Uygulamanızda yer alan Modüller içerisinde ptrsafe kullanımına dair tüm declare edilmesi gerekli fonksiyonların kod satırları için aşağıda bağlantısı verilen konularda yer aldığı şekli itibarı ile yeniden tek tek kontrol edilmek sureti ile düzenlenmesi gerekmektedir.

32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması
(2.mesaj)

Bilgisayar Teknik Servisi 2014 versiyon YENİ
(82.mesaj)


2) Kod sayfasında üst menüden DEBUG-COMPILE seçimini kullanarak,gerekli kontrollerin yapılması ve oluştuğu gözlenen hataların giderilmek sureti ile düzeltilmesi gerekmektedir.

Bu düzeltilmesi gerekli hususlar içerisinde;mevcut olmayan denetimlerin varlığı,geçersiz kalan kullanımların varlığı gibi sorunlar gözlenmiştir.

3) frm_PERSONEL adlı formdaki Liste1 adlı listenin olay yordamı hatalı olay kısmına yazıldığı görülmüştür.Güncelleştirme Sonrasında değil Tıklandığında olmalı.

4) frm_PERSONEL adlı formdaki RAPORLAR adlı butona tıklanma sonucu açılan Frm_Raporlar adlı form üzerinde raporları ayrı ayrı belirtmek yerine aynı form içerisine sadece bir adet Açılan Kutu (Combobox) eklemek sureti ile ve bu Açılan Kutu’nun Değiştiğinde olay yordamına da SELECT…CASE fonksiyonu kullanarak kod ifadeleri yazarak,seçime göre ilgili raporun açılmasını sağlatabilirsiniz.kriterli ya da kritersiz rapor açılımları yapılabilir.

Böylece,gerek daha sonrasında belki bir ihtimal eklenebilecek başka raporlar da mevcut olabilir düşüncesi ile ve gerekse de daha az denetim bulundurma düşüncesi ile bu şekilde daha rahat bir kullanım elde edebilirsiniz kanısındayım.elbette ki,tercih sizindir.bu,sadece bir tavsiyeden öte değildir.

Son olarak,talebinize yönelik olarak da,aşağıdaki açıklamalar uygun görülmüştür.

-  Frm_Raporlar adlı formun içerisindeki Komut121 adlı butonun kod ifadeleri incelendiğinde;yazılı olan kodların,aşağıdaki konunun

Raporda Veri Yoksa Açılmasın

19.mesajında yer alan örnek uygulamadan alıntı yapılmak sureti ile bu komut içerisine dahil edilmek istendiği görülmüştür.

Fakat,burada sanırım yanlış bir anlama durumu hakim.diğer konunun 4.mesajında

Veri Yoksa Raporun Açılmama İşlemi

eklenen örnek incelendiğinde görülecektir ki,bir kriter seçimine göre eğer ilgili kayıt varsa kayıt kaynağı sorgusunda Açılan Kutudaki değere göre o rapor açılır fakat eğer ilgili kayıt mevcut değilse işte o zaman o rapor açılmamaktadır.

Kaldı ki,aslında,raporda veri yokken gibi bir kod ifadesini kullanmanıza da gerek yok bana göre.çünkü,bu hususa dair Frm_Raporlar adlı formdan RAPORDA OLAN PERSONEL listesini görmekse amacınız,zaten hazırladığınız raporun içeriği de kimlerin raporlu olduğunu görmeniz.bundan dolayı da raporun kaynağını oluşturan Srg_RAPOR adlı sorguda sadece içinde bulunulan güne eşit ya da büyük olanları kriter olarak belirtmişsiniz.dolayısı ile de,bu rapor aslında SADECE genel bir raporlular kimlerse görmek (listelemek) üzerinedir.

Eğer diğer bağlantıdaki örnekteki gibi bir Açılan Kutunun yer aldığı bir form oluşturup,ilgili rapor için de kaynak oluşturacak sorguda kişilerin adlarının gösterildiği alanın kriter satırına da o formdaki Açılan Kutuyu gösterirseniz,o zaman bu kodlar çalışır elbet.fakat,tekrarlamak gerekirse,bu raporda böyle bir raporda yoksa işlemini uygulamak anlamsız.

Bu konuya yönelik olarak şöyle bir tavsiyem olacak size,eğer personel formunda aktif seçili olan personelin rapor durumu var mı yok mu görmek istiyorsanız.

a) frm_PERSONEL adlı formun içerisine bir buton ekleyiniz ve Frm_Raporlar adlı formun Komut121 adlı butonun içeriğindeki kodları olduğu gibi dahil ediniz.

b) Raporlu_Olanlar adlı raporun kayıt kaynağını oluşturan Srg_RAPOR adlı sorgunun SICILNO adlı alanının kriter satırına 

Kod:
[Forms]![frm_PERSONEL]![SGKNO]

kod ifadesini yazıp kaydediniz.Burada,yazılı olan tarih kriter satırını da iptal etmelisiniz ki,rapor sadece personel bazında olsun.

Böylece, frm_PERSONEL adlı formu çalıştırıp bir personel seçip aktif duruma (seçili) getirip bu yeni butona bastığınızda;eğer o personelin rapor durumu varsa raporu açar,yoksa ilgili mesajı ekranda gösterip açmaz.

Elbette ki,bu tavsiye,SADECE her bir aktif (seçili) personelin rapor durumuna göre raporun açılıp açılmaması adınadır.fakat,bu raporlar içerisine doğaldır ki bir de GENEL RAPORLU personelleri görmek üzere rapor olması gerekmektedir.o da,sadece direkt raporun açılması üzerine olmalıdır,veri yokken durumu olmaksızın.bilginize…iyi çalışmalar,saygılar.
04/10/2015, 20:59

yorum70

Sn.ATOZ112; vakit ayırarak yazmış olduğunuz geri bildirimleri tek, tek defaten okudum. Değiştirmekte geç kalmadığımı düşündüğüm yerleri değiştirdim, F11 ile kod sayfasına geçerek, debug-compıle yaparak gereksiz ve hatalı yerleri sildim, düzelttim.

Açılan kutudan rapor seçme olayını, ilgili PC lerde program çalışırsa bir sonraki adım olarak düşüneceğim. Raporda veri olmayınca açılmaması ise şimdilik gereksiz. Zaten raporlu olanların sayısı 1-2 personelle sınırlı kaldığı gibi, her zaman olan bir şey de değil.
Date olayında sorunu yarın işyerinde ilgili PC'LERDE deneme yaptıktan sonra gerekli bilgilendirme yapacağım.

İlgi ve emekleriniz için teşekkür ediyorum.
Saygılarımla.
05/10/2015, 18:14

atoz112

Sayın yorum70,

EK’teki örnekte;

1) Srg_RAPOR adlı sorgudan ve Raporlu_Olanlar adlı rapordan birer adet kopya dahil edilerek;biri için genel olarak Raporlu olanların raporunu ve diğerinin de frm_PERSONEL adlı form üzerinde o an seçili personelin raporlu olma durumunun olup olmadığına dair göstermesi sağlanmıştır.

2) frm_PERSONEL adlı form üzerinde bir adet PERSONELE GÖRE RAPORLULUK DURUMU tanımı verilmiş buton eklenmiştir.

Bu butonun eklenmesinin nedeni;anlık olarak tercihe göre o an aktif olan personelin raporlu olma durumunun incelenmesi için hariçten tek olarak dahil edilmiştir.

3) Frm_Raporlar adlı form,önceki mesajda da bahsi geçtiği üzere,uygulama üzerindeki mevcut tüm raporların bir açılan kutu içerisinde yer alması ve bu açılan kutudan yapılacak seçime göre SELECT…CASE yöntemi ile ilgili raporların açılması sağlanmıştır.

Bu örnek çalışma,SADECE bilgilendirmede bahsi geçen hususun uygulanmasını göstermek ve bir fikir vermesi adına hazırlanmıştır.siz,uygun gördüğünüz değişiklikleri ya da tercihinize göre ekleme veya düzeltmeleri yapabilirsiniz.

NOT:
Uygulama üzerindeki bazı modüllerdeki ve diğer kod satırları,çalışmayı hazırlarken soruna maruz kalınmaması adına,ya değiştirilerek düzenlenmiş ya da etkisizleştirilmek sureti ile özellikle geçersiz bırakılmıştır.bahsi geçen işlemlerin dışında diğer nesneler üzerinde herhangi bir düzeltme ya da çalışma yapılmamıştır.bilginize…iyi çalışmalar,saygılar. 
05/10/2015, 20:18

yorum70

iŞYERİNDE denedim( Yeni Nesil PC lerde 2013 Office 64 Bit) bu seferde " basMouseHook" modülü hata veriyor. Ne yaptıysam, nereden arakladıysam olmadı..Bu modül ne işe yarar onu da anlamadım ! Ricam, bu modül kodları arşivinde olan varsa eklerse sevinirim.

Sn.ATOZ112, elinize sağlık kullanışlı olmuş. Tek sorun; kriterli olanlar açılan rapor kutusunda hata veriyor. ÖRNEK HATA RAPORLARI; Rpr_Kan, Banka(ıban);ikitarihizin;tahsil.

Tşk.
05/10/2015, 21:04

yorum70

Static MouseHook As Object


Set MouseHook = NewMouseHook(Me)

Frm_PERSONEL isimli formun LOAD olayında bu satırı sildim ve basmouseHook'tan kurtuldum, yarın işyerinde bu şekilde deneyeceğim, inşallah başka yerden patlamaz mousseHook.
05/10/2015, 22:20

atoz112

sayın yorum70,

Alıntı:...kriterli olanlar açılan rapor kutusunda hata veriyor. ÖRNEK HATA RAPORLARI; Rpr_Kan, Banka(ıban);ikitarihizin;tahsil...

talebinize yönelik,
EK'te;
hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

son olarak;

basMouseHook modülünün anlamı kısaca şu:

Kayıtlar arasında gezinmeyi iptal etmek üzere,MOUSE (Fare'nin) kaydırma tekerleğinin devre dışı bırakılması için kullanılmaktadır.


şahsi fikrim;kullanılmasına gerek olmadığı yönünde.elbette,takdir ve tercih sizindir.bilginize...iyi çalışmalar,saygılar.
1 2 3