Modülde Sorgu İçinde Tarih Değişkeni Hatası
Tarih
08/09/2009 10:46
Konu Sahibi
siberonik
Yorumlar
6
Okunma
1953
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ü 
Sponsor Reklam
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ü 
Sponsor Reklam
ş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ü 
Sponsor Reklam
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
Dün,08:14
Çö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
  Yemek Sipariş Portalı 4 Sorgu Ekleme al1en 2 130 18/01/2017, 00:26 ozanakkaya
  access iki tarih arası verileri datetimepicker vasıtasıyla çağırma usescrt 9 179 15/01/2017, 12:43 usescrt
  form ve raporda çapraz sorgu formatı mehmetb84 8 241 14/01/2017, 18:16 atoz112
  Accessten excel bağlantısı ile veri alırken parola hatası. Mecnun24 8 256 02/01/2017, 20:11 Mecnun24
  İki Tarih Arası Rapor Hatası m_demir 14 297 24/12/2016, 23:03 m_demir


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