mojtaba-n
سه شنبه 29 فروردین 1391, 01:17 صبح
سلام خدمت دوستان
من دارم يه برنامه ساده با دلفي 7 و بانك اكسس 2003 مي نويسم براي ثبت قبضهاي آب و برق
توي يه قسمت وقتي مي خوام با sql گزارش بگيرم همه فيلدها رو قبول مي كنه ولي فيلد تاريخ رو قبول نميكنه و ارور زير رو ميده :
parameter Tarikh has no default value
يا اين ارور رو ميده :
no value given for one or more required parameters
فيلد Tarikh يه فيلد از نوع Longint هست كه تاريخ فارسي رو به صورت عددي داخلش ذخيره ميكنم تابشه سورتش كرد مثلا 13910129
هدف من اينه كه بتونم ركوردهايي رو كه بين دو تاريخ مشخص هستند رو توي گزارش بيارم. اين كار رو قبلا در برنامه هاي ديگه كردم ولي نميدونم چرا الان نميشه. ضمنا بقيه فيلدها رو قبول مي كنه و گزارش درست اجرا ميشه ولي فقط فيلد تاريخ رو مشكل داره
سورس برنامه هم اينه :
[
LEFT] ADOQuery1.SQL.Add('SELECT * FROM Ghabzha');
ADOQuery1.SQL.Add('WHERE (Active=True)');
ADOQuery1.SQL.Add('AND (Ghabz=:P0)');
ADOQuery1.SQL.Add('AND (User=:P1)');
ADOQuery1.SQL.Add('AND (Tarikh>=:P2)');
ADOQuery1.SQL.Add('AND (Tarikh<=:P3)');
ADOQuery1.Parameters[0].Value:=Edit10.Text;
ADOQuery1.Parameters[1].Value:=Edit40.Text;
ADOQuery1.Parameters[2].Value:=IntToStr(FDate2Int(Edit2.Text));
ADOQuery1.Parameters[3].Value:=IntToStr(FDate2Int(Edit3.Text));
ADOQuery1.Open;[/LEFT]
دستور IntToStr(FDate2Int(Edit2.Text) هم تاريخي رو كه توي Edit به شكل 1390/11/23 نوشته شده به "13901123" تبديل ميكنه.
از همتون ممنونم لطفا كمك كنيد
من دارم يه برنامه ساده با دلفي 7 و بانك اكسس 2003 مي نويسم براي ثبت قبضهاي آب و برق
توي يه قسمت وقتي مي خوام با sql گزارش بگيرم همه فيلدها رو قبول مي كنه ولي فيلد تاريخ رو قبول نميكنه و ارور زير رو ميده :
parameter Tarikh has no default value
يا اين ارور رو ميده :
no value given for one or more required parameters
فيلد Tarikh يه فيلد از نوع Longint هست كه تاريخ فارسي رو به صورت عددي داخلش ذخيره ميكنم تابشه سورتش كرد مثلا 13910129
هدف من اينه كه بتونم ركوردهايي رو كه بين دو تاريخ مشخص هستند رو توي گزارش بيارم. اين كار رو قبلا در برنامه هاي ديگه كردم ولي نميدونم چرا الان نميشه. ضمنا بقيه فيلدها رو قبول مي كنه و گزارش درست اجرا ميشه ولي فقط فيلد تاريخ رو مشكل داره
سورس برنامه هم اينه :
[
LEFT] ADOQuery1.SQL.Add('SELECT * FROM Ghabzha');
ADOQuery1.SQL.Add('WHERE (Active=True)');
ADOQuery1.SQL.Add('AND (Ghabz=:P0)');
ADOQuery1.SQL.Add('AND (User=:P1)');
ADOQuery1.SQL.Add('AND (Tarikh>=:P2)');
ADOQuery1.SQL.Add('AND (Tarikh<=:P3)');
ADOQuery1.Parameters[0].Value:=Edit10.Text;
ADOQuery1.Parameters[1].Value:=Edit40.Text;
ADOQuery1.Parameters[2].Value:=IntToStr(FDate2Int(Edit2.Text));
ADOQuery1.Parameters[3].Value:=IntToStr(FDate2Int(Edit3.Text));
ADOQuery1.Open;[/LEFT]
دستور IntToStr(FDate2Int(Edit2.Text) هم تاريخي رو كه توي Edit به شكل 1390/11/23 نوشته شده به "13901123" تبديل ميكنه.
از همتون ممنونم لطفا كمك كنيد