2016-10-07 4 views
1

Я хочу сравнить две даты. Я triied так:Проверьте, если начальная дата больше, чем окончательная.

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, 041107 Интергаз HREco 24 CW3, ST , 0 ,,,,, 0,, ​​0,, ​​01-10-16,10-10-13,0, Nee, Nee,

Спасибо

ответ

2

Comparation это нормально, но я думаю, что вы не находят коррекцию t запись 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; 
+1

Да, спасибо. Вот и все. – SavantCode

Смежные вопросы