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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2008, 09:37   #1
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
По умолчанию popup в dbgrid

Извиняюсь за новую тему, но поиском мало что нашел что мне требуется.
Вообщем суть дела такова: при нажатии правой кнопки на дбгриде выползает попап менюшка, главная функция одной из кнопок этой менюшки, перенос записи из одной таблицы в другую.Например, таблица "мониторы" и "лицевой счет", при нажатии ПКМ на любой строке в таблице "мониторы" необходимо копировать текст из колонки "наименование" в таблицу "лицевой счет" в столбец "наим-ие выданных", причем запись из таблицы "мониторы" необходимо удалить.
Подскажите пожалуйста, или подкиньте идею как это реализовать в ацессовской бд. Есть некоторые мысли, но мало опыта...
drakhar вне форума Ответить с цитированием
Старый 12.02.2008, 10:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как это реализовать в ацессовской бд.
ДБгриду по бобику с какой СУБД ты работаешь. Если знаеш как прикрутить меню к ДБГриду то задача решена
Цитата:
Есть некоторые мысли
Дык это наверное страшная военная тайна. Не вздумай их публиковать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2008, 10:18   #3
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
По умолчанию

попап к дбгриду прикрутил, менюшки норм работают,некоторые уже сделал, но вот именно копирование текста из одной таблицы в другую не получаеться реализовать. Насчет мыслей, думаю что просто бредовые идеи вот и не стал писать.
drakhar вне форума Ответить с цитированием
Старый 12.02.2008, 10:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
копирование текста из одной таблицы в другую не получаеться реализовать.
Че там реализовывать то? либо SQL-INSERT либо штатными методами и свойствами TdataSet'ов. Как делаеш то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2008, 21:29   #5
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
копирование текста из одной таблицы в другую не получаеться реализовать
insert into Table2
select t.Field1, t.Field2 from Table1
dron-s вне форума Ответить с цитированием
Старый 12.02.2008, 21:36   #6
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
По умолчанию

у меня вот такой вопрос: если у меня дбгрид1 и дбгрид2, в первом дбгриде несколько таблиц с переключением, а во второй лицевой счет идет, получается надо 2 adoquery если делать через insert? если не так, не могли бы вы разьеснить что к чему
drakhar вне форума Ответить с цитированием
Старый 13.02.2008, 02:25   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Не надо два. Нужен один, только для выполнения SQL.
Набросал для вас примерчик:
Пусть у вас уже есть Table1(его вы попеременно подключаете к names1, names2, names3...)->DataSource1->DBGrid1 и Table2(licschet)->DataSource2->DBGrid2.
Добавляем один Query1.
Пишем обработчик:
Код:
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Text:= 'insert into licschet (nams) values(' +
QuotedStr(DBGrid1.DataSource.DataSet.FieldByName('Nam').AsString) + ')';
Query1.ExecSQL;
Query1.SQL.Text:= 'delete from '+(DBGrid1.DataSource.DataSet as TTable).TableName +
' where nam=' + QuotedStr(DBGrid1.DataSource.DataSet.FieldByName('Nam').Value);
Query1.ExecSQL;
Table1.Refresh;
Table2.Refresh;
end;
(пришлось разбить, т.к. Парадокс не захотел почему-то выполнять в одном запросе...)

Последний раз редактировалось mihali4; 13.02.2008 в 10:39.
mihali4 вне форума Ответить с цитированием
Старый 13.02.2008, 08:20   #8
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
По умолчанию

Спасибо большое всем кто помогал, вопрос решён!
drakhar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Popup menu в таблице Access crazybabushka БД в Delphi 3 09.08.2008 12:09
Impact PopUp axeli Софт 1 28.07.2008 12:02
Popup+dbGrid s.mag БД в Delphi 8 15.05.2008 13:32
Popup menu Mitron Компоненты Delphi 1 02.02.2008 14:26