PDA

View Full Version : انتقال پارامتر به فست ریپورت



لاله86
دوشنبه 10 تیر 1387, 12:53 عصر
سلام
من دو تا پارامتر تعریف کردم که مقدارشونو از مسک ادیت میگیرن. براساس این دو تا پارامتر یه کوری گرفته میشه
و بعد به وسیله frxdbdataset نتیجه کوری در فست نشون داده میشه. حالا میخوام بدونم چطور این دو تا پارامتر رو توی گزارش نشون بدم. فرض کنید این دو پارامتر تاریخ شروع و پایان باشه که کاربر وارد میکنه( داخل مسک ادیت) و میگه از این تاریخ تا این تاریخ گزارش بگیر.پارامتر ها هم اینطور تعریف کردم:
ta2.SQL.Add('where t_hadese.date between :t1 and :t2');
ta2.Parameters.ParamByName('t1').Value:= strtoint(me24.Text);
ta2.Parameters.ParamByName('t2').Value:= strtoint(me25.Text);
میخوام این دوتا مسک ادیت بالای گزارشم باشه. که مشخص بشه گزارش مربوط به کدوم فاصله زمانی میشه
فیلد تاریخ توی جدول اکسس هم از نوع اینتجر هست

vcldeveloper
سه شنبه 11 تیر 1387, 02:43 صبح
دو تا متغیر (Variable) در FastReport ایجاد کنید. در بخش هایی از گزارش که باید مقدار دو تاریخ مربوطه نمایش داده شوند، از نام این متغیر ها استفاده کنید (چگونگی ایجاد متغیر و چگونگی کردن از نام یک متغیر در داخل متن اشیاء گزارش در راهنمای FastReport توضیح داده شده).
زمانی که FastReport گزارش را تولید می کند، هر جا به نام این متغیرها برخورد کند، رویداد OnGetValue را فراخوانی می کند. شما می توانید با نوشتن کد برای این رویداد، بررسی کنید که آیا متغیر در حال پردازش، متغیر مورد نظر شما هست، و اگر بود، مقدار مناسبی را به آن نسبت دهید، مثلا:

procedure TRM1.frxReportGetValue(const VarName: String; var Value: Variant);
begin
if CompareText(VarName,'StartDate') = 0 then
Value := me24.Text
end;