あなたが尋ねたものだ...
Delphiの店あなたが最初の日付を書くときに、あなたが12分の31以降(の日数を40731をやっている31/12/1899からの日数として日付/ 1899) - まだ2番目の日付を入力していないので0です。
ソリューションは、両方の日付が記入されていない限り、フィールドを計算することはないだろう。
if (Temp.FieldByName('BIV_OD').AsDateTime > 0) and (TEMP.FieldByName('BIV_DO').AsDateTime > 0) then
TEMP.FieldByName('DAYS').AsString:= IntToStr(Daysbetween(TEMP.FieldByName('BIV_OD').AsDateTime,TEMP.FieldByName('BIV_DO').AsDateTime))
else
TEMP.FieldByName('DAYS').AsString:= ''; //don't display anything.
私は整数のデータ型を持つようにグリッド列を設定すると思いますが。
if (Temp.FieldByName('BIV_OD').AsDateTime > 0) and (TEMP.FieldByName('BIV_DO').AsDateTime > 0) then
TEMP.FieldByName('DAYS').AsInteger:= Daysbetween(TEMP.FieldByName('BIV_OD').AsDateTime,TEMP.FieldByName('BIV_DO').AsDateTime)
else
TEMP.FieldByName('DAYS').Value := Null; //don't display anything.
グリッドはtcxgridです... – user763539