Modülde Sorgu İçinde Tarih Değişkeni Hatası
Tarih
08/09/2009 10:46
Konu Sahibi
siberonik
Yorumlar
6
Okunma
1910
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



siberonik
Üye
Kullanici Avatari
Üye
14
4
20/05/2009
0
İstanbul
Ofis 2003
02/04/2011,19:02
Çözüldü 
Merhaba arkadaşlar, ufak bir sorunum var yardımcı olabilirseniz sevinirim.
Modül içerisinde kayıtseti olarak kullanmak üzere şöyle bir sorgu var. yalnız bu sorgunun WHERE bölümündeki HaftaBasi ve HaftaSonu tarih değişkenlerinde aşağıda eklemiş olduğumu hata mesajını vermektedir. Yüksek oranda sorgu içerisinde tarihler için kullandığım değişkenlerde ayraç hatası var. Fakat ne kadar uğraştımsa tarihler için olan bu ayraç meselesini çözemedim.

Not : Affınıza sığınarak veritabanı örneği istemezseniz sevinirim çünkü gönderemem.

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim DTB As DAO.Database
Dim RST1, RST2, RST3, RST4 As DAO.Recordset
Dim STR1, STR4 As String
Dim HaftaBasi, HaftaSonu As Date
Dim Sirket As String
Dim AcenteID As String

...

STR4 = "SELECT Policeler.PoliceSirket, Policeler.AcenteID, Acente_AcenteBilgileri.Unvani, Policeler.PoliceTur, Policeler.PoliceTanzimTarihi, Policeler.PoliceBaslamaTarihi, Policeler.PoliceBitisTarihi, Policeler.PoliceNetPrim, Policeler.PoliceBrutPrim " _
& "FROM Policeler INNER JOIN Acente_AcenteBilgileri ON Policeler.AcenteID = Acente_AcenteBilgileri.AcenteID " _
& "WHERE (((Policeler.PoliceSirket)='" & Sirket & "') AND ((Policeler.AcenteID)='" & AcenteID & "') AND ((Policeler.PoliceTanzimTarihi)>=" & HaftaBasi & "  And (Policeler.PoliceTanzimTarihi)<=" & HaftaSonu & " ))"
...

End Sub 


resim

siberonik, 20-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


Nurullah_Serdar
FaTSaLı
Kullanici Avatari
Aktif Üye
568
22/11/2008
189
Giresun
Ofis 2007
01/07/2013,13:21
Çözüldü 
"WHERE (((Policeler.PoliceSirket)='" & Sirket & "') AND ((Policeler.AcenteID)='" & AcenteID & "') AND ((Policeler.PoliceTanzimTarihi)>=" & HaftaBasi & " And (Policeler.PoliceTanzimTarihi)<=" & HaftaSonu & " ))"
ölçüt olarak tarih kullanılmasında sıkça rastlanan bir durum bu. öncelikle bilgisayarınızın tarih ayracını . değilde / olarak ayarlayın denetim masasından. sonrasında ölçük olarak belirttiğiniz tarihlerin başına ve sonuna # işareti koyun.
AND ((Policeler.PoliceTanzimTarihi)>=#" & HaftaBasi & "# And .... bunun gibi.
İyiki Varsın Access Img-grin
Cevapla


cuneyt

Kullanici Avatari
Onursal
321
29/10/2008
81
İstanbul
Ofis 2007
08/06/2016,10:56
Çözüldü 
şu şekilde aynen yapıştırırmısın.


STR4 = "SELECT Policeler.PoliceSirket, Policeler.AcenteID, Acente_AcenteBilgileri.Unvani, Policeler.PoliceTur, Policeler.PoliceTanzimTarihi, Policeler.PoliceBaslamaTarihi, Policeler.PoliceBitisTarihi, Policeler.PoliceNetPrim, Policeler.PoliceBrutPrim " _
& "FROM Policeler INNER JOIN Acente_AcenteBilgileri ON Policeler.AcenteID = Acente_AcenteBilgileri.AcenteID " _
& "WHERE (((Policeler.PoliceSirket)='" & Sirket & "') AND ((Policeler.AcenteID)='"& AcenteID & "')" _
& "AND ((Policeler.PoliceTanzimTarihi)>=" & HaftaBasi & " And (Policeler.PoliceTanzimTarihi)<=" & HaftaSonu & " ))"
Cevapla


siberonik
Üye
Kullanici Avatari
Üye
14
4
20/05/2009
0
İstanbul
Ofis 2003
02/04/2011,19:02
Çözüldü 
Teşekkürler Nurullah bey dediğiniz gibi yaptım oldu. yalnız tarih ayracını sistemde genel olarak değiştirmeden kod içerisinde değiştirebilsek aslında daha hoş olur. Biöyle bir imkanımız varmı?
Değişkenleri Variant yapınca ve atanacak değereide aşağıdaki gib değiştirince istediğim oldu.

HaftaBasi = Day(RST1!Baslama) & "/" & Month(RST1!Baslama) & "/" & Year(RST1!Baslama)
HaftaSonu = Day(RST1!Bitis) & "/" & Month(RST1!Bitis) & "/" & Year(RST1!Bitis)
siberonik, 20-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


Nurullah_Serdar
FaTSaLı
Kullanici Avatari
Aktif Üye
568
22/11/2008
189
Giresun
Ofis 2007
01/07/2013,13:21
Çözüldü 
tarih ayracının . veya / olmasının diğer kullandığınız programlarda hiç bir önemi yok diye düşünüyorum. kod kalabalığı ve tür değiştirmek yerine en güzeli tarih ayracını değiştirmek.

Ölçüt olarak belirttiğimiz ifadeyi yazarken dikkat edilmesi gerekli birkaç noktayı anlatmak istiyorum.

1-Ölçüt içinde tarih kullanacağımızı varsayarak bilgisayarımızın “.” olan tarih ayracını “/” olarak değiştirmemiz gerekmektedir. Kullanmış olduğumuz program İngiliz dilini kullanarak çalıştığından bizim kullandığımız “.” işareti hataya neden olmaktadır.

2- bu hatanın bir diğer nedeni hangi tür veride hangi ayracı kullanacağımız.

Metin için

…… Adi='" & me.adi & "' and Soyadi='" & me.soyadi & "' and …..

Sayı için

…. Id=" & me.Id & " and Sicili="& me.Sicili & " and ……

Tarih için
…… GirisTarihi=#" & me.GirisTarihi & "# AND CikisTarihi=#" & me.CikisTarihi& "# AND…..
İyiki Varsın Access Img-grin
Cevapla


benremix
Uzman
Kullanici Avatari
Uzman
R.... S....
4.432
17/05/2009
365
Ankara
Ofis 2010
05/12/2016,09:18
Çözüldü 
Katkı ve paylaşımlarınız için emeği geçenlere teşekkürler.
Saygılar...
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi 


Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  OLE server or ActiveX Control hatası temre 4 129 05/12/2016, 22:44 ozanakkaya
  Parametre girin hatası nightashes 3 56 04/12/2016, 23:07 Mesut Kaytan
  Listede ve Raporda Tarih değerine göre sıralamak m_demir 20 287 03/12/2016, 00:13 m_demir
  method or data hatası murat dikme 7 111 02/12/2016, 19:04 murat dikme
  Tablomu hangi sorgu rapor kullanıyor atyaty 5 207 29/11/2016, 14:14 atyaty


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya