Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2007, 03:49   #1
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию Ошибка ADO

В общем суть проблемы такова. Есть грид с футером. При вводе нового значения в гриде проводится проверка суммы вновь вводимого значения с содержимым футера. Если сумма больше определенного значения нужно просто отменить запись в базу...
Вот код

Код:
procedure TForm1.DBGridEh1Columns0UpdateData(Sender: TObject; var Text: string;
  var Value: Variant; var UseText, Handled: Boolean);
var
  n: integer;
  s: string;
  v: integer;
begin
v := value;
s := Grid1.Columns[0].Footers[0].SumValue;
n := StrToInt(s) + value;
if n > 3000 then
begin
try
Application.MessageBox(PChar(IntToStr(n)),'',mb_Ok);
AdoTable1.CancelUpdates;
except
end;
end;
end;
Все бы ничего, но ADOTable1 возвращает ошибку - Не могу записать при закрытом датасете. Оно и понятно. Вопрос в том, как подавить это сообщение. В примере кода используется DBGridEh. Но в идеале хотелось сделать это с cxGrid.
Баламут вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка с mod Kn793 Помощь студентам 2 16.07.2008 13:28
В чем ошибка!!! juden Общие вопросы Delphi 12 10.03.2008 08:53
в чем ошибка? Lonix Общие вопросы Delphi 2 24.03.2007 09:41