Access üzerinde tarih alanından sadece tarihe göre sorgu?

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

Access üzerinde tarih alanından sadece tarihe göre sorgu?

Mesaj gönderen sarp_halit »

Merhaba arkadaşlar,
öylesine basit ama bir o kadar da can sıkıcı bir konuda takıldım kaldım :(
access veritabanı kullanarak bir programcık yazmaya çalışıyorum ( çalışıyorum diyorum çünkü iki yıl aradan sonra delphi yi yeniden açınca tökezledik),

şimdi bu delphi ile mi yoksa access ile mi alakalı orasını da tam kestirebilmiş değilim. personelin giriş ve çıkışlarını takip eden bir sistem olacak. mantık şu şekilde bir personel tablom var bir de giriş çıkışların tutulduğu tablo.

program barkod numarasını aldığında ilk olarak o personelin o günkü giriş tarihini sorguluyor. tabi gece başlayıp bir gün sonra çıkan personeller de var bunun için giriş tarihini bugün ve dün olarak sorguluyor. eğer giriş yoksa yeni bir giriş ekliyor ( o anın tarih ve saatini kaydediyor); eğer bugün ya da birgün öncesi giriş varsa o alanın çıkış tarihini barkotun okutulduğu anı olarak güncelliyor.

benim takıldığım nokta ise: giriş ve çıkış alanlarının tutulduğu alanlar tarihi saatiyle birlikte tutuyor. ben sorguyu çalıştırdığımda sadece giriş tarihini baz alıyorum. sonuçta sorgulama yaparken o adamın saat kaçta girdiğini bulamam. bu şekilde sorgu boş dönüyor ve dolayısıyla sistem her barkot girişinde sanki personel yeni giriyormuş gibi kayıt açıyor.

şimdi ben bunu nasıl yapabilirim? yani tarih ve saati tutan alandan sadece o alanın tarihine göre nasıl sorgulama yapabilirim?

benim sorgum şu şekilde:

Kod: Tümünü seç

SELECT girisPER, girisTARIH, cikisTARIH FROM tblGIRISCIKISLAR WHERE girisPER='+inttostr(personelID)+' AND (girisTARIH=#'+formatdatetime('mm/dd/yy',date)+'# OR girisTARIH=#'+formatdatetime('mm/dd/yy', yesterday)+'#)
tarih formatını ay/gün/yıl olarak seçtim. ha bu arada unutmadan aynı sorunu accessin kendi içerisinde oluşturduğum sorguda da yaşıyorum. sanırım sorun access ile alakalı olsa gerek.

ilgilenen arkadaşlara şimdiden teşekkür ederim. iyi çalışmalar.
Fethiye den herkese sevgiler ...
X))@:>
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Access üzerinde tarih alanından sadece tarihe göre sorgu

Mesaj gönderen mkysoft »

mm/dd/yy yazmışsınız, bu gün,ay,yıl olmuyor ki? acsess sistemde tanımlı olan ayarları kullanır, ona göre parametre olarak göndermelisiniz. bazı veri tabanları tarih olan alnı # içine alıyor, acsessden emin değilim. sorgu oluşturma aracını kullanarak emin olabilirsiniz.
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

Re: Access üzerinde tarih alanından sadece tarihe göre sorgu

Mesaj gönderen sarp_halit »

Merhaba, yanıt için teşekkür edeim. ben olayı çözdüm. sizin de dediğiniz gibi sorun access ten kaynaklanıyormuş. yazdığım kod şu şekilde:

Kod: Tümünü seç

SELECT girisPER, girisTARIH, cikisTARIH FROM tblGIRISCIKISLAR WHERE girisPER='+inttostr(personelID)+' AND (format(girisTARIH,"dd/mm/yyyy")=#'+formatdatetime('mm/dd/yy',date)+'# OR format(girisTARIH,"mm/dd/yyyy")=#'+formatdatetime('dd/mm/yy', yesterday)+'#) ORDER BY girisTARIH DESC
access sorgu girişnde tarihi ay/gün/yıl olarak kabul ettiğinden kaynaklanan bir sorundu.

ilginiz için teşekkür ederim.
Fethiye den herkese sevgiler ...
X))@:>
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Access üzerinde tarih alanından sadece tarihe göre sorgu

Mesaj gönderen conari »

parametre kullanın
sorgularınız bu şekilde uzamaz.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
yakupercan
Üye
Mesajlar: 1
Kayıt: 03 Eyl 2010 03:21

Re: Access üzerinde tarih alanından sadece tarihe göre sorgu

Mesaj gönderen yakupercan »

Merhaba arkadaşlar bu foruma ilk mesajım. Ufak bir program üzerinde uğraşıyorum. Veritabanı olarak Access kullandım form üzerine DBGrid, DataSource, ADOTable kullanarak ilişkilendirdim. Asıl sıkıntım şu tablo alanlarımdan 2'si ;

1. Çıkış Saati
2. Giriş Saati

olarak adlandırdım ve bu alanları Access de kısa saat olarak ve maskesinide 00:00;0;_ bu şekilde ayarladım. Ancak bu alanları Delphi' ye çektiğimde alanlar;

1. 31.12.1899 12:30
2. 31.12.1899 15:30

olarak geliyor. Yani yazdığım saatler doğru fakat 31.12.1899 olarak başına tarih gelmesine anlam veremiyorum.

Bunun sebebi nedir ?
Uygulama doğrumu yanlış ise nasıl uygulanmalıdır ( Bu alanlar üzerinde karşılaştırma yapılacağı düşünüldüğünde ) ?
Sorunu nasıl düzelte bilirim ?
Cevapla