Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 15.12.2009, 19:27   #1
program123
Форумчанин
 
Аватар для program123
 
Регистрация: 12.02.2009
Сообщений: 144
Репутация: 32
По умолчанию Вычисление по связям

Есть 2 связные таблицы у которых есть поле Num, когда клацаем по первой таблице высвечиваются определенные данные во второй, при условии что в Num одинаковые значения. Вопрос: Нужно при удалении записи во второй таблице ADOTable2.Delete, чтобы в Первой таблице в поле Количество стало +1 именно в той строке где Num=Num. Помогите плз
program123 вне форума   Ответить с цитированием
Старый 15.12.2009, 20:00   #2
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Адрес: г.Иркутск
Сообщений: 4,180
Репутация: 837
По умолчанию

Цитата:
Количество стало +1 именно в той строке где Num=Num.
Не понял. Это как?
__________________
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума   Ответить с цитированием
Старый 15.12.2009, 20:06   #3
program123
Форумчанин
 
Аватар для program123
 
Регистрация: 12.02.2009
Сообщений: 144
Репутация: 32
По умолчанию

в первой таблице 2 поля Num , Количество , и нужно чтобы в этом поле количество +1 значение было, т.е удалили из второй таблице в первую +1 добавилось
program123 вне форума   Ответить с цитированием
Старый 15.12.2009, 21:00   #4
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

Код:
procedure TForm1.Table2BeforeDelete(DataSet: TDataSet);
begin
Table1.Locate('Num',Table2.FieldByName('Num').Value,[]);
end;

procedure TForm1.Table2AfterDelete(DataSet: TDataSet);
begin
Table1.Edit;
Table1.FieldByName('Количество').Value:=Table1.FieldByName('Количество').Value+1;
Table1.Post;
end;
mihali4 вне форума   Ответить с цитированием
Старый 15.12.2009, 21:21   #5
program123
Форумчанин
 
Аватар для program123
 
Регистрация: 12.02.2009
Сообщений: 144
Репутация: 32
По умолчанию

mihali4, извините за беспокойство, но меня интересует вот что:
Код:
procedure TForm1.Table2BeforeDelete(DataSet: TDataSet);
begin
Table1.Locate('Num',Table2.FieldByName('Num').Value,[]);
end;
Удаляет из двух таблиц, а нужно чтобы из второй удаляло , а в первой таблице просто поле КОЛИЧЕСТВО увеличивалось на 1, т.е если во второй таблице строка где Num=4 то в первой таблице в той строчке где поле Num тоже равно 4 поле количество увеличивалось. извините если не понятно объясняю.
program123 вне форума   Ответить с цитированием
Старый 15.12.2009, 21:28   #6
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

Эти обработчики ничего не удаляют.
Первый - ставит курсор в первой таблице на запись, у которой Num равен Num во второй таблице. Просто выбирает нужную запись.
Второй - только после того, как вы удалили запись из второй таблицы, просто прибавляет единичку к количеству в первой таблице.
mihali4 вне форума   Ответить с цитированием
Старый 15.12.2009, 21:43   #7
program123
Форумчанин
 
Аватар для program123
 
Регистрация: 12.02.2009
Сообщений: 144
Репутация: 32
По умолчанию

всё работает, но не каждый раз, иногда пишет не может найти строку обновления. может надо обнулять. буду разбираться, спасибо за помощь
program123 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление интегралов Golovastik Общие вопросы C/C++ 17 25.12.2013 00:05
Вычисление интеграла StudeHt Помощь студентам 1 01.05.2009 19:16
Вычисление felmor Паскаль 0 26.12.2008 18:45
вычисление f(x) felmor Паскаль 0 24.12.2008 23:11
Вычисление полинома file Паскаль 5 29.05.2008 21:00


22:43.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.