ورود

View Full Version : پركردنی خودكار یك فیلد



akar_program
دوشنبه 10 مرداد 1390, 20:12 عصر
سلام دوستان مسلن من یك دیتا بیس دارم سه‌ تا فیلد با نامهای num1 . num2 . divnum
میخواهم وقتی عدد num1 , num2 وارد شود با تور خود كار عدد num1 تقسیم بر num2 بشه‌و در divnum نیشون بده‌ ممنون

a_mosavian
دوشنبه 10 مرداد 1390, 22:59 عصر
Calculated

akar_program
سه شنبه 11 مرداد 1390, 04:55 صبح
Calculated
با سلام دوست عزیز میشه‌ بیشتر توزیح بدید میدونم باید كار ها محاسباتی كرد

Vahid.Shatery
سه شنبه 11 مرداد 1390, 22:50 عصر
سلام
نوع فیلد نتیجه را حالت Calcculated بزارین .
بعد یک تابع بنویس که بیاد num2/num1 را برگردونه . نمونه کد زیر برای کم کردن دو ساعت از هم به کار برده می شه . به عنوان مثال ساعت خروج کارمند را از ساعت ورودش کم می کنه و به صورت ساعت مفید نشون می ده .


procedure TfrmReport.qryDateCalcFields(DataSet: TDataSet);
begin
if DataSet.FieldByName('ExitTime').AsString = '' then
DataSet.FieldByName('clkarkerd').AsString := '0:0'
else
DataSet.FieldByName('clkarkerd').AsString := GetBetweenTime(DataSet.FieldByName('EnterTime').As String, DataSet.FieldByName('ExitTime').AsString);
end;



function GetBetweenTime(Time1, Time2: String): string;
var
t1, t2: TDateTime;
m: Integer;
begin
t1 := StrToTimeDef(Time1, 0);
t2 := StrToTimeDef(Time2, 0);
m := MinutesBetween(t1, t2);
Result := IntToStr(m div 60)+':'+IntToStr(m mod 60);
end;

akar_program
چهارشنبه 12 مرداد 1390, 00:23 صبح
نوع فیلد نتیجه را حالت Calcculated بزارین

چطور میشه‌ نوع فیلد نتیجه را حالت Calcculated بزارم اگه‌ میشه‌ یك نمونه‌ پیوه‌ست كنید خیلی ممنون میشم

Vahid.Shatery
چهارشنبه 12 مرداد 1390, 13:02 عصر
یک qry اضافه کنید . بعد فیلد ها را بهش add کنید . فیلد نتیجه را حالت calc انتخاب کنید .