iki tarih arası sorgulama
iki tarih arası sorgulama
select * from REZERVASYON WHERE KORT=1 and (BASLANGIC <= '05.02.2009 14:30:00' and BITIS >= '05.02.2009 15:30:00')
Yukarıdaki sorguyu bir türlü beceremedim arkadaşlar.
Problem şu iki adet fieldım var biri BASLANGIC diğeri BITIS datetime veri tipindeler.
içerlerinde tarih ve ssat yazıyor. İstediğim şu verdiğim sorgu aralığında kayıt varmı yokmu. Ama birtürlü istediğim olmuyor.
Yukarıdaki sorguyu bir türlü beceremedim arkadaşlar.
Problem şu iki adet fieldım var biri BASLANGIC diğeri BITIS datetime veri tipindeler.
içerlerinde tarih ve ssat yazıyor. İstediğim şu verdiğim sorgu aralığında kayıt varmı yokmu. Ama birtürlü istediğim olmuyor.
Re: iki tarih arası sorgulama
muhtemelen tarih formatından kaynaklı hata alıyorsunuz.
daha detaylı cevap için imzama bakın lütfen...
daha detaylı cevap için imzama bakın lütfen...
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
Re: iki tarih arası sorgulama
Ben hata alıyorum diye yazmadım ki. Hata olsa bende yazmasını bilirim. İmzandaki yazılar benim sorum için geçerli değil kanaatindeyim.
Benim sorunum istediğim sonuç gelmiyor. Sorgulama yapıyor fakat belirttiğim saat tarih aralığı değil filan. Varsa bunu sorgulamanın başka bir yöntemi onu sormuştum.
Benim sorunum istediğim sonuç gelmiyor. Sorgulama yapıyor fakat belirttiğim saat tarih aralığı değil filan. Varsa bunu sorgulamanın başka bir yöntemi onu sormuştum.
Re: iki tarih arası sorgulama
vb, vs diye özellikle yazmıştım ama neyse. bence "Ama birtürlü istediğim olmuyor" da aynı gruptan ve imzama bakın diye bunun için demiştim.
sorgunuz tarih formatı dışında doğru gibi 5.2.2009 tarihinden önce başlayıp bitmemiş kayıtları getirmesi gerek.
where kısıtını şu şekilde düzenlermisin
sorgunuz tarih formatı dışında doğru gibi 5.2.2009 tarihinden önce başlayıp bitmemiş kayıtları getirmesi gerek.
where kısıtını şu şekilde düzenlermisin
Kod: Tümünü seç
(BASLANGIC <= '2009-02-05 14:30:00' and BITIS >= '2009-02-05 15:30:00')
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
Re: iki tarih arası sorgulama
anladığım kadarı ile bir saatlik bir arayı raporlamaya çalışıyorsunuz.
olmalı.
Kod: Tümünü seç
(BASLANGIC >='2009-02-05 14:30:00' and BITIS <= '2009-02-05 15:30:00')
Bir kelimenin anlamını öğretsen bile yeter..
Re: iki tarih arası sorgulama
Merhaba,
Benimde benzer bir sorunum var.
Ben stok programı yapıyorum.Bilgileri yazıp kaydediyorum ve dbgrid te görünüyor.Tarih sorgulama yapacagım bu girişler ile ilgili.Ama arkdasın dediği gibi değil.Sadece 2 tarih arasında ki girişleri göstersin bana..
Bunun için ne kullanmalıyım ?
Eğer bu kod benim dediğimi kaşılıyorsa ne gibi ekleme yapmam lazım forumuma ?(Buton,component olarak )
Teşekkürler..
Forumları gezerken bir kod daha buldum.İşime yarar mı acaba ?
Benimde benzer bir sorunum var.
Ben stok programı yapıyorum.Bilgileri yazıp kaydediyorum ve dbgrid te görünüyor.Tarih sorgulama yapacagım bu girişler ile ilgili.Ama arkdasın dediği gibi değil.Sadece 2 tarih arasında ki girişleri göstersin bana..
Bunun için ne kullanmalıyım ?
Kod: Tümünü seç
adoquery.SQL.Add('SELECT * from tablo WHERE (tarih BETWEEN :Tar1 and :Tar2)');
adoquery.Parameters.ParamByName('Tar1').Value := DateTimePicker1.Date;
adoquery.Parameters.ParamByName('Tar2').Value := DateTimePicker2.Date;
Teşekkürler..
Forumları gezerken bir kod daha buldum.İşime yarar mı acaba ?
Kod: Tümünü seç
1.
procedure TForm1.sButton6Click(Sender: TObject);
2.
begin
3.
if (sdateEdit1.Modified=false) and (sdateEdit2.Modified=false) Then
4.
ShowMessage('En Az Bir Parametre Girmelisiniz')
5.
else if sdateEdit1.Modified=false Then
6.
begin
7.
Query1.SQL.Clear;
8.
Query1.SQL.Add('Select * from FATURA Where FATURATARIH<=:FAT');
9.
Query1.Params[0].AsDate:=StrToDate(sdateEdit2.Text);
10.
Query1.Open;
11.
end
12.
else if sdateEdit2.Modified=false Then
13.
begin
14.
Query1.SQL.Clear;
15.
Query1.SQL.Add('Select * from FATURA Where FATURATARIH>=:FAT');
16.
Query1.Params[0].AsDate:=StrToDate(sdateEdit1.Text);
17.
Query1.Open;
18.
end
19.
else
20.
begin
21.
Query1.SQL.Clear;
22.
Query1.SQL.Add('Select * from FATURA Where FATURATARIH>=:FAT and FATURATARIH<=:FAT2');
23.
Query1.Params[0].AsDate:=StrToDate(sdateEdit1.Text);
24.
Query1.Params[1].AsDate:=StrToDate(sdateEdit2.Text);
25.
Query1.Open;
26.
end;
Re: iki tarih arası sorgulama
Gride Tablo bağladı iseniz olmaz.
ADOquery bağlamalısın.
bir adoquery,bir datasource,bir dbgrid, bir buton, 2 datetimepicker yeterli
ADOquery bağlamalısın.
bir adoquery,bir datasource,bir dbgrid, bir buton, 2 datetimepicker yeterli
Bir kelimenin anlamını öğretsen bile yeter..
-
- Üye
- Mesajlar: 1
- Kayıt: 06 May 2009 02:15
Re: iki tarih arası sorgulama
procedure TForm10.BitBtn2Click(Sender: TObject);
var
sorgu:String;
begin
Form1.Close;
sorgu:=('select * from borcalacak WHERE (tarih BETWEEN :Tar1 and :Tar2)');
Form1.CommandText:=sorgu;
Form1.Parameters.ParamByName('Tar1').Value := DateToStr(DateTimePicker2.Date);
Form1.Parameters.ParamByName('Tar2').Value := DateToStr(DateTimePicker3.Date);
Form1.Open;
bu kodu denersen sana yardımcı olacaktır
var
sorgu:String;
begin
Form1.Close;
sorgu:=('select * from borcalacak WHERE (tarih BETWEEN :Tar1 and :Tar2)');
Form1.CommandText:=sorgu;
Form1.Parameters.ParamByName('Tar1').Value := DateToStr(DateTimePicker2.Date);
Form1.Parameters.ParamByName('Tar2').Value := DateToStr(DateTimePicker3.Date);
Form1.Open;
bu kodu denersen sana yardımcı olacaktır
Re: iki tarih arası sorgulama
CommandText ne oluyor acaba ?
Re: iki tarih arası sorgulama
http://tinypic.com/r/16jg0av/5
http://i43.tinypic.com/16jg0av.jpg
bu hata neyden kaynaklanıyor acaba lütfen yardım edin kafayı yiyeceğim (
http://i43.tinypic.com/16jg0av.jpg
bu hata neyden kaynaklanıyor acaba lütfen yardım edin kafayı yiyeceğim (
Re: iki tarih arası sorgulama
Parametreye değer atamamışsın sanırım.
Bir kelimenin anlamını öğretsen bile yeter..
Re: iki tarih arası sorgulama
Kodum şu şekilde;
begin
if (Edit2.Modified=false) and (Edit3.Modified=false) Then
ShowMessage('En Az Bir Parametre Girmelisiniz')
else if Edit2.Modified=false Then
begin
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date<=:date');
Query1.Params[0].AsDate:=StrToDate(Edit3.Text);
Query1.Open;
end
else if Edit3.Modified=false Then
begin
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date>=:date');
Query1.Params[0].AsDate:=StrToDate(Edit2.Text);
Query1.Open;
end
else
begin
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date>=:date and date<=:date2');
Query1.Params[0].AsDate:=StrToDate(Edit2.Text);
Query1.Params[1].AsDate:=StrToDate(Edit3.Text);
Query1.Open;
end;
end;
end.
Ama hata nerede
Paradox ta yapıyorum
begin
if (Edit2.Modified=false) and (Edit3.Modified=false) Then
ShowMessage('En Az Bir Parametre Girmelisiniz')
else if Edit2.Modified=false Then
begin
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date<=:date');
Query1.Params[0].AsDate:=StrToDate(Edit3.Text);
Query1.Open;
end
else if Edit3.Modified=false Then
begin
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date>=:date');
Query1.Params[0].AsDate:=StrToDate(Edit2.Text);
Query1.Open;
end
else
begin
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date>=:date and date<=:date2');
Query1.Params[0].AsDate:=StrToDate(Edit2.Text);
Query1.Params[1].AsDate:=StrToDate(Edit3.Text);
Query1.Open;
end;
end;
end.
Ama hata nerede
Paradox ta yapıyorum
Re: iki tarih arası sorgulama
Date olarak değilde string olarak göndermeyi deneyebilirsin.
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date<=:date');
Query1.Params[0].AsString:=Edit3.Text;
Query1.Open;
emin değilim ama denemekte fayda var.
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Clothes_Hasan_DB Where Date<=:date');
Query1.Params[0].AsString:=Edit3.Text;
Query1.Open;
emin değilim ama denemekte fayda var.
Re: iki tarih arası sorgulama
Paradox ile ilgili ise MS SQL servera niye soruyorsunuz hocam.
Queryinin Parametre listesine tıklayın orada parametrelerin type(sanırım bu idi) alanını Date olarak seçin.
Queryinin Parametre listesine tıklayın orada parametrelerin type(sanırım bu idi) alanını Date olarak seçin.
Bir kelimenin anlamını öğretsen bile yeter..
Re: iki tarih arası sorgulama
Yardımcı olan herkese teşekkür ederm.Biraz kitaplardan biraz da netten araştırarak çok güzel kod buldum.Filtreleme yöntemi ile 2 tarih arası sorgulama yapıyorum ve radiogroup ile birden fazla seçim yapabiliyorum filtreleme için (Barkod No,Stock vs...)
Simdi geriye kaldı güzel bir search kodu bulmak..
Filtreleme;
Burada ben sadece numara ve tarih filtreleyebiliyorum.İsim filtrelemek için kodta ne gibi değişiklik yapmak lazım ?
Simdi geriye kaldı güzel bir search kodu bulmak..
Filtreleme;
Kod: Tümünü seç
var
m:String;
begin
if radiogroup1.itemindex=0 then
begin
maskedit1.editmask:='!999999;1;-';
maskedit2.editmask:='!999999;1;-';
table1.indexname:='ProductCodeindeksi';
m:='ProductCode';
end;
if radiogroup1.itemindex=1 then
begin
Maskedit1.editmask:='!99/99/0000;1;_';
maskedit2.editmask:='!99/99/0000;1;_';
table1.indexname:='Dateindeksi';
m:='Date';
end;