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

1 2 3
02/10/2015, 20:16

yorum70

Merhaba..

Biten personel Programı, evde ve işyerimde ki  64 Bit- OFFİCE 2013 de sorunsuz çalışyor.

Fakat asıl kurmak istediğim işyerinde ki başka büroda ki 2 adet PC'DE(Yeni Nesil-Kocaman ekranlı-2013 Office-64 Bit) çalışmıyor..ve eklediğim srg_ızın sorgusunda ki DONUSTARIHI ölçüt hatası veriyor...Açılan pc lerde Ölçütte bulunan >=Date() Gözükürken, Çalışmayan 2 pc'de ölçüt kısmı silinmiş olarak geliyor ve ekte ki fotoğraf hatasını veriyor.

Pc deki bölgesel ayarları 02.10.2015 şekline getirdim..

Date modülünden mi kayanaklanıyor, yoksa DATE isminden mi anlamadım. (Now) olarakta deneedim.

Ana Form: frm_PERSONEL.
İzin Tablosu: Tbl_IZIN
Sorgu: srg_IZIN
02/10/2015, 21:42

atoz112

Sayın yorum70,

Bahsettiğiniz talebinize yönelik olarak,
şuan itibarı ile uygulamanızı inceleme imkanım olmadı fakat ilk aklıma gelen şu hususları paylaşmak isterim.

1)       
Gerek aşağıdaki konunun 81. ve 82.mesajlarında sayın Mehmet bey tarafından paylaşılan bilgi ve gerekse de 80.mesajda paylaştığım bağlantıda yer alan konudaki 32 bit /64 bit fonksiyon komutlarının çalıştırılmasına dair kodların kullanımını inceleyebilirsiniz.bu işlem denenebilir,eğer varsa kodlarınız içerisinde.

Bilgisayar Teknik Servisi 2014 versiyon YENİ

2)       
DATE kullanımında eğer sorun söz konusu oluyorsa,bunun yerine kriter olarak
Kod:
>=Format(Now();”dd.mm.yyyy”)

şeklinde de kullanabilirsiniz.

3)       
Ofis sürümleri eğer Türkçe /İngilizce farklılığı söz konusu ise,bunun için Bölgesel Dil Ayarlarından hangisi geçerli ise,o değişimi yapabilirsiniz.Türkçe kalmışsa,İngilizce olarak değiştirmek gibi.bazen,Türkçe karakter olarak yazılmış Tablo,Alan adı gibi ifadelerde sorun olabilir.

4)
bir de Referans kontrolü de yapabilirsiniz.uyumlu olmayan söz konusu ise,uygun olan ile değiştirmek gibi.

son olarak,
eğer aldığınız bir hata söz konusu ise,gerek bu hatanın tam adını ya da gerekse de bu hatanın olduğu esnadaki ekran görüntüsünü de konunuza dahil edebilirsiniz.bilginize…iyi çalışmalar,saygılar.
02/10/2015, 22:29

yorum70

Ekran görüntülerini ekledim. Tsk
02/10/2015, 22:54

atoz112

Sayın yorum70,

Öncelikle,uygulamanız “…tanınmayan…” uyarısı verdiğinden dolayı inceleme imkanını kendi adıma inceleme imkanı bulamadığımı belirtmek isterim.

Eklediğiniz görselden de belli olduğu üzere,sorun bahsettiğiniz gibi DATE kriterinden kaynaklı.fakat burada benim naçizane gereksiz olduğunu düşündüğüm bir yazım söz konusu olduğunu da gördüm.

İfadeden de anlaşıldığı üzere,kriterde BUGÜN tarihine eşit ya da büyük olan değerler olarak yazılmak istenmiş,fakat bunun yerine direkt DONUSTAR adlı alanın kriter satırında >=DATE() şeklinde yazılması daha yerinde olurdu,az karakter kullanmış olmak adına.

>=format(Now();”dd.mm.yyyy”) şeklinde denediniz mi,yine aynı sonuca çıkacaktır,eğer ki DATE fonksiyonu soruna maruz bırakıyorsa.

son olarak,DERLEME hatası diye belirttiğine göre;kod sayfasında DEBUG-COMPILE yapmak sureti ile,eğer mevcut hatalar varsa düzeltme işlemini sağlamanız yerinde olacaktır kanısındayım.(örneğin;denetim adı hatası gibi)

Bilginize…iyi çalışmalar,saygılar.
03/10/2015, 11:28

ozanakkaya

(02/10/2015, 20:16)yorum70 yazdı: Biten personel Programı, evde ve işyerimde ki  64 Bit- OFFİCE 2013 de sorunsuz çalışyor.

basOpenfile isimli modüldeki

Declare Function CLTAPI_GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" _

 (pOpenfilename As CLTAPI_WINOPENFILENAME) _
As Boolean
 
Declare Function CLTAPI_GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" _
 (pOpenfilename As CLTAPI_WINOPENFILENAME) _
As Boolean
 
Declare Sub CLTAPI_ChooseColor Lib "msaccess.exe" Alias "#53" _
 (ByVal hwnd As Long, rgb As Long)

şeklindeki kodları Mod1 isimli modüldeki gibi düzelterek ptrsafe kodu eklemelisin

#If VBA7 Then

    Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
     Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End If

basOpenfile modülündeki ilgili kodların aşağıdaki gibi olması gerekiyor.

#If VBA7 Then

Declare PtrSafe Function CLTAPI_GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" _
  (pOpenfilename As CLTAPI_WINOPENFILENAME) _
As Boolean
 
Declare PtrSafe Function CLTAPI_GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" _
  (pOpenfilename As CLTAPI_WINOPENFILENAME) _
As Boolean
 
Declare PtrSafe Sub CLTAPI_ChooseColor Lib "msaccess.exe" Alias "#53" _
  (ByVal hwnd As Long, rgb As Long)
 
#Else
Declare Function CLTAPI_GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" _
  (pOpenfilename As CLTAPI_WINOPENFILENAME) _
As Boolean
 
Declare Function CLTAPI_GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" _
  (pOpenfilename As CLTAPI_WINOPENFILENAME) _
As Boolean
 
Declare Sub CLTAPI_ChooseColor Lib "msaccess.exe" Alias "#53" _
  (ByVal hwnd As Long, rgb As Long)
#End If

Bunlardan başka modüllerde farklı declare kodu var ise aynı şekilde düzeltilmesi gerekiyor.
03/10/2015, 15:53

yorum70

Sn.Ozanakkaya, PTRSAFE yi çoğu yere ekledim ama, bu modülü atlamışım.İşyerinde ki PC'lerde deneyip bilgi vereceğim.

Sn.ATOZ112, >Date() Or Date() ölçütünü >=Date() şeklinde yaptım, sorun yok.

Tşk.
1 2 3