procedure
TCallInReport.ButtonSelectClick(Sender: TObject); begin
TableXTab.active := false ;
if EditWeekOf.Text = ''
then
begin
messageBeep( 0 ) ;
messageDlg( 'Для выбора записи необходима
дата.', mtInformation, [mbOK], 0 );
exit ;
end ;
Screen.Cursor := crHourGlass ;
dtWeekOf := StrToDate( EditWeekOf.Text ) ;
dtStartDate := dtWeekOf - DayOfWeek( dtWeekOf ) + 2 ;
TableXTab.active := false ;
TableXTab.EmptyTable ;
TableXTab.active := true ;
{
Замените строки 1 - 5 в QBE1.QBE реальными датами
}
QBE1.QBE.Strings[ 1 ] := ' | _join1 | ' + DateToStr( dtStartDate ) + ' | ' ;
QBE1.QBE.Strings[ 2 ] := ' | _join2 | ' + DateToStr( dtStartDate + 1 ) + ' | ' ;
QBE1.QBE.Strings[ 3 ] := ' | _join3 | ' + DateToStr( dtStartDate + 2 ) + ' | ' ;
QBE1.QBE.Strings[ 4 ] := ' | _join4 | ' + DateToStr( dtStartDate + 3 ) + ' | ' ;
QBE1.QBE.Strings[ 5 ] := ' | _join5 | ' + DateToStr( dtStartDate + 4 ) + ' | ' ;
try
QBE1.active := true ;
except
on E: EDataBaseError do
begin
if E.Message = 'Ошибка создания дескриптора
курсора' then { Ничего не делайте. Делая TQBE
активной, мы пытаемся создать курсор. Это вызывает исключительную ситуацию,
которую мы должны перехватить. Пока я не нашел способа как отделаться от
исключения. }
else
begin
Screen.Cursor := crDefault ;
raise ;
end ;
end;
else
Screen.Cursor := crDefault ;
raise ;
end;
TableXTab.refresh ;
Screen.Cursor := crDefault ;
TableXTab.active := true ;
end;