var
Tarih1, Tarih2 : TDate;
begin
query1.sql.clear;
query1.sql.add('Select * from Raporlar2');
query1.sql.add('Where İNC_TARİHİ Between :TARIH1 and :TARIH2 and İZ_DURUMU=:İZ_DURUMU');
query1.parambyname('TARIH1').asdate :=strtodate(edit1.text);
query1.parambyname('TARIH2').asdate :=strtodate(edit2.text);
query1.ParamByName('İZ_DURUMU').AsString :=edit3.Text;
Query1.Open;
aynı şekilde yukarıdaki sorgulamayı ben de yapmak istiyorum fakat hata veriyor...
access databe kullnıyorum...
tarih alanım var
hata: undeclared identifier 'paramname' ?
Select * From Table_Name Where tarih>=:tarih_ilk and tarih<=:tarih_son
query1.params[0].asdate:=strtodate(edit1.text);
query1.params[1].asdate:=strtodate(edit2.text);
Birde yukarıdaki şekilde denermisiniz ? hata veriyor ise verdiği hatayı söylerseniz...
adoquery1. 'diyorum noktadan sonra query1 in özelliklerinde yada fonksyonlarında paramname yada params[] çıkmıyor...
parameters diye bir şey var sadece...
Bendede paramname hatası verirdi ama hata yazısı içiunde İZDURUMU gibi alan adını verir ve bulunamadığını belirtirdi. burada tarih alanlarından hariç olan girdiler için yani string alanlar için where de
alanadı=:alanadı şeklinde yazınca iş düzeliyordu.
belki form üzerine herşeyi koymamışsınızdır veya alanları tanımıyordur tablo adını tam girmemişsinizdi. yoksa query1. deyince paramname çılıyor.
benim çalışma için yapılan sorgulamayı kullanıyorsan aynısı ile kodların yazılışı bde deki query ye göre ado için kodlama değişebilir. hata buradan olabilir. ustalarımız bu konuda sana yardımcı olurlar
SELECT Tarih FROM Tablo_gunluk
WHERE (gunluk_id=:gunluk_id1)
AND (Tarih >= :Tarih1)
AND (Tarih <= :Tarih2)
order by Tarih Desc
çalışmasındaki sorun şu:
>= dememe rağmen ilk tarihi sorguya dahil etmiyor... Tarih alanı string idi, belki ondandır deyip Date yaptım ama yine aynı...
yani, 01.10.2007 -10.10.2007 tarih aralığı verdiğimde 1 ekim tarihlileri göstermiyor
ne tavsiye edersiniz?
Alper Şirvan Şair, yazar, ressam.. 3 kitabı var...
Yazılımcı... Kamuda memur...
Galatasaray'lı... Spor aşığı...
Güneş Enerjili Tekerlekli Sandalyenin
Fikir Babası...
veri tabanı mssql ise tarih formatından kaynaklanabilir.
yada tarih alanında sadece tarih mi var yoksa saatte varmı?
saat de varsa o da sıkıntıya sebep olabilir.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
konu başlığı ve içerik ado ve access olunca belirtmedim.
access veritabanı ve Tarih alanı... delphi2005 ile yazıyorum.
between denedim ama access problem çıkardığıı için diğer türlü yaptım zaten. bu tip işlerde genelde between kullanırım...
bugün biraz daha kurcalıyacağım bakalım... işin kötüsü ardı ardına 2-3 sorgu yapınca yapmaz oluyor... mesela, Tarih aralığı 01.ekim-10.ekim arası diyelim. sonraki sorgularda bu tarihlerden önceki kayıtları da getiriyor...
Alper Şirvan Şair, yazar, ressam.. 3 kitabı var...
Yazılımcı... Kamuda memur...
Galatasaray'lı... Spor aşığı...
Güneş Enerjili Tekerlekli Sandalyenin
Fikir Babası...
accesde önceden yazdığım bir sorgu,
Ay ile gün veritabanında normal olmasına ragmen sorguda ay/gün/yıl olarak istiyordu bende uğraşmayım dedim kendimce böle bir yöntem geliştirmiştim.
var
tarih1, tarih2 :String;
ay1,ay2,gun1,gun2,yil1,yil2:integer;
begin
ay1:=MonthOf(DateTimePicker1.Date);
gun1:=DayOf(DateTimePicker1.Date);
yil1:=YearOf(DateTimePicker1.Date);
ay2:=MonthOf(DateTimePicker2.Date);
gun2:=DayOf(DateTimePicker2.Date);
yil2:=YearOf(DateTimePicker2.Date);
tarih1:='#'+IntToStr(ay1)+'/'+IntToStr(gun1)+'/'+IntToStr(yil1)+'#';
tarih2:='#'+IntToStr(ay2)+'/'+IntToStr(gun2)+'/'+IntToStr(yil2)+'#';
SayQuery.Active:=False;
SayQuery.SQL.text:='SELECT count (TBLISTEK_ANA.TARIH) FROM TBLISTEK_ANA '+
' WHERE TBLISTEK_ANA.TARIH between '+tarih1+' And '+tarih2+';';