检查startdate是否大于enddate

时间:2016-10-07 11:44:19

标签: navision dynamics-nav microsoft-dynamics-nav

我想比较两个日期。我这样打架:

SetDates(Rec, StartDate2, EndDate2, Regelkorting);

BOMB.RESET;
BOMB.SETRANGE(StartDate2,StartDate2);
IF BOMB.FINDFIRST THEN BEGIN
IF BOMB.StartDate2 > BOMB.EndDate2 THEN BEGIN
ERROR('startdatum kan niet groter zijn dan einddatum');
END;
END

但没有消息显示

这是输出:

BOM组件 530120,10000,Artikel,530120,Intergas 041107 HREco 24 CW3,ST,0 ,,,,, 0,0,,01-10-16,10-10-13,0,Nee,Nee,

谢谢

1 个答案:

答案 0 :(得分:2)

比较没关系,但我认为你没有找到正确的BOMB记录。

你有这个:

BOMB.RESET;
BOMB.SETRANGE(StartDate2,StartDate2);
IF BOMB.FINDFIRST THEN BEGIN
  IF BOMB.StartDate2 > BOMB.EndDate2 THEN BEGIN
    ERROR('startdatum kan niet groter zijn dan einddatum');
  END;
END;

您只能按StartDate2字段过滤而不能过滤主键,因此您会找到错误的记录。

如果您没有更改此主屏幕,则主键,标准 BOM组件表的字段的过滤BOMB表具有此主键Parent Item No.,Line No.试试这个:

BOMB.RESET;
BOMB.SETRANGE("Parent Item No.", "Parent Item No.");
BOMB.SETRANGE("Line No.", "Line No.");
IF BOMB.FINDFIRST THEN BEGIN
  IF BOMB.StartDate2 > BOMB.EndDate2 THEN BEGIN
    ERROR('startdatum kan niet groter zijn dan einddatum');
  END;
END;