Merak ettiğim için soruyorum,
@Hakan Can'ın verdiği şekilde iki tarih arasında birden fazla gün olunca da doğru çalıştı mı? Çünkü BTarih de sadece tarih bilgisi varsa where deki (BTarih > '14.02.2006' and BTarih < '15.02.2006') kısmının bir anlamı yoktur. 14.02.2006 ile 15.02.2006 arasında herhangi başka bir gün yoktur. Diğer iki satır üstteki satırı da kapsayacak şekilde daha önce söylediğim >= ve <= kullanılarak tekrar düzenlenebilir gibime geliyor. Yani;
Kod: Tümünü seç
SELECT
MalKodu,Miktar,Kod13,Kod14,Kod7,Kod11,Miktar2,Tutar2,Miktar3,
BlkMiktar,Tutar3,PromosyonMiktar,Kod12,BarkodNo,BTarih, BSaat
FROM Barkod
Where (BTarih >= '14.02.2006' and BSaat >= '08:00:00') or
(BTarih <= '15.02.2006' and BSaat <= '08:00:00')
Order by BTarih,Bsaat Desc
Burada da şöyle bir sorun ortaya çıkar. Diyelim sen üç günlük rapor alacaksın. O zaman 08:00:00 deyince bir sonraki günün 00:00:00 dan 08:00:00 a kadar olan kayıtları sorguya dahil olmayacaktır

TimeStamp desteği olması halinde olay tek bir
where BTarih beetween Ilk_TarihStamp and Son_TarihStamp şekli ile çözmek mümkündü.
Sonuç olarak bir sonraki tüm saatleri kapsayacak şekilde değiştirilebilir;
Kod: Tümünü seç
SELECT
MalKodu,Miktar,Kod13,Kod14,Kod7,Kod11,Miktar2,Tutar2,Miktar3,
BlkMiktar,Tutar3,PromosyonMiktar,Kod12,BarkodNo,BTarih, BSaat
FROM Barkod
Where (BTarih >= Ilk_Tarih and (BSaat >= '08:00:00' or (BTarih > Ilk_Tarih and BTarih < Son_Tarih))) or
(BTarih <= Son_Tarih and (BSaat <= '08:00:00' or (BTarih < Son_Tarih and BTarih > Ilk_Tarih)))
Order by BTarih,Bsaat Desc
şeklinde gittikçe karışan bir halde çözülebilir
