Я пытаюсь создать ограничение в своем клиентском наборе данных, чтобы проверить общее количество 4 числовых полей, если оно превышает максимальное значение.
Я обнаружил ограничения в свойствах ClientDataset и ищу некоторую документацию и учебные пособия в Интернете, нонашел несколько ссылок, которые не так полезны для начинающего, как я. Это не дает достаточно информации.
Может кто-нибудь здесь поделиться более подробной информацией об ограничениях набора клиентских данных?
Я уже создал TCheckConstraint ... тогда что дальше.
Цель состоит в том, чтобы проверить всего 4 числа столбцов / полей, если оно не превышает 24 часа.
ОБНОВЛЕНИЕ 1: Я нашел эту замечательную статью , но, похоже, мне нужно сначала ее переварить. Большинство его деталей для меня новые.
ОБНОВЛЕНИЕ 2: у меня есть поле fkcalculated, которое выполняет вычисление суммы. Все, что мне нужно, это проверить данные, прежде чем отправлять их в клиентский набор данных. Если оно находится в пределах ограничения, оно должно пройти. Если нет, то должно появиться сообщение и предотвратить публикацию данных.
ОБНОВЛЕНИЕ 3: Я пытался выполнить BeforePost, но он не срабатывает, когда он превышает 24 часа. Вот код:
procedure TdmPayroll.cdsMyTimesheetBeforePost(DataSet: TDataSet);
begin
if dm.payroll.cdsMyTimesheet.FieldByName('TtlWorkedHours').AsDateTime > 24 then
begin
ShowMessage('You have entered time in excess of 24 hours. Please check your entries and try again');
end;
end;
ОБНОВЛЕНИЕ 4: Обмен статьей, чтобы получить сумму времени для использования ограничения. Как суммировать с помощью Delphi