1

2 つの日付を比較したい。私はこのように試しました:

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,

ありがとうございました

4

1 に答える 1

2

比較はOKですが、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ではなくフィールドでのみフィルタリングするため、間違ったレコードが見つかります。

したがって、主キーのフィールドのフィルター BOMB テーブル、標準BOM コンポーネントテーブルには、これ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;
于 2016-10-07T12:09:16.000 に答える