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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2008, 16:09   #11
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от Самоучка Посмотреть сообщение
да парадокс, читал но ничего для себя не нашел.
Сделал вычисляемые поля как должно быть в курсовой,фильтрацию, поиск, но как выбирать данные и записывать в новую таблицу не знаю
Фильтрация ето вроде и есть выборка нужных данных или нет?
Запись в другую таблицу тоже самое что и запись в любую, Если НОВАЯ таблица = таблица которой ещё нет, то перед записью в неё данных рекомендуется её создать.
Всё равно пока всё это читал не видел ни кусков кода, ни примеров где чтото невыходит, ни описания самих таблиц.
vovk вне форума Ответить с цитированием
Старый 09.11.2008, 16:54   #12
Самоучка
Пользователь
 
Аватар для Самоучка
 
Регистрация: 09.10.2008
Сообщений: 41
По умолчанию

Цитата:
Фильтрация ето вроде и есть выборка нужных данных или нет?
нет выбор будет происходить после нажатия клавиши мыши по строке
Цитата:
не видел ни кусков кода, ни примеров где чтото невыходит, ни описания самих таблиц.
если бы я нашел код как это делать возможно бы сам разобрался. Поиск, фильтрация у меня все работает. Мне нужно не это, нужно просто выбирать с помощью мыши строки в разных таблицах, а они затем должны отобразиться в третьей таблице(это будет наряд на сборку по нему я буду формировать отчет). Как это сделать я не знаю и кодов подходящих пока не находил.
Писать на стенах туалета, увы, мой друг не мудрено.....
Среди говна - мы все поэты. Среди поэтов - мы говно!
Самоучка вне форума Ответить с цитированием
Старый 09.11.2008, 17:07   #13
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

вот
Второй раз за сегодня даю эту ссылку Там не ответ там обучение с помощью которого вы сможете всё сделать и даже больше.
В смысле выбирать записи из 2 и более таблиц лучше SQL запросами быстрее и эффективнее (можно конечно извратится и из Ttable извлеч нужные данные в переменные там или массив потом собрать в кучу и с помощью хитрого кода заполнить этим Dbgrid(а потом с помощью ещё более хитрого вытаскивать от туда данные)), а можно просто составить правильный запрос и получить в своём датасете те данные которые хотели.

А ваш код может выглядеть примерно так
Код:
Select таблица1.поле1, таблица2.поле1 From таблица1 Join таблица2 On таблица1.полеN=таблица2.полеX where (тут условие отбора)
а может и иначе, ведь вы так и не показали откуда чего вы хотите
ЗЫ код не надо искать его надо писать
Цитата:
нет выбор будет происходить после нажатия клавиши мыши по строке
А разница какая ? этож действие а чем его исполнили (левой ногой на интер носом на пробел, левой клавишей мышки на заголовок, ввод текст в эдит) значения не имеет

Последний раз редактировалось vovk; 09.11.2008 в 17:25.
vovk вне форума Ответить с цитированием
Старый 10.11.2008, 23:53   #14
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
В вашем примере таблицы никак ни связаны поэтому отобразятся записи в таком виде Записи таблицы 'goods' УМНОЖИТЬ на записи таблицы 'po' тоесть каждая запись первой таблицы отобразится с КАЖДОЙ записью второй.
Извините. Писал ночью, совсем забыл про связи...
Arkuz вне форума Ответить с цитированием
Старый 11.11.2008, 00:02   #15
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Мне нужно что-то вроде: выбрал строку нажал на кнопку отправить и строка помещается в необходимый грид
Нате вам пример:
Код:
procedure TForm1.Button5Click(Sender: TObject);
begin
DBGrid2.DataSource.DataSet.Append;
DBGrid2.DataSource.DataSet.FieldByName('Kodtov').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Kodtov').Value;
DBGrid2.DataSource.DataSet.FieldByName('Rashod').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Prihod').Value;
DBGrid2.DataSource.DataSet.Post;
end;
mihali4 вне форума Ответить с цитированием
Старый 11.11.2008, 07:02   #16
Самоучка
Пользователь
 
Аватар для Самоучка
 
Регистрация: 09.10.2008
Сообщений: 41
По умолчанию

mihali4
спасибо за код попробую применить Как сделаю напишу.
Писать на стенах туалета, увы, мой друг не мудрено.....
Среди говна - мы все поэты. Среди поэтов - мы говно!
Самоучка вне форума Ответить с цитированием
Старый 23.11.2008, 14:52   #17
Самоучка
Пользователь
 
Аватар для Самоучка
 
Регистрация: 09.10.2008
Сообщений: 41
По умолчанию

Спасибо все получилось
Писать на стенах туалета, увы, мой друг не мудрено.....
Среди говна - мы все поэты. Среди поэтов - мы говно!
Самоучка вне форума Ответить с цитированием
Старый 27.11.2008, 23:57   #18
Самоучка
Пользователь
 
Аватар для Самоучка
 
Регистрация: 09.10.2008
Сообщений: 41
По умолчанию

Я сделал так
1) если пользователь по одной записи выбирает данные
Код:
procedure TForm1.BitBtn20Click(Sender: TObject);
begin
try
DBGrid2.DataSource.DataSet.Append;
DBGrid2.DataSource.DataSet.FieldByName('Наименование').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Наименование').Value;
DBGrid2.DataSource.DataSet.FieldByName('Код').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Код').Value;
DBGrid2.DataSource.DataSet.FieldByName('Объем').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Объем (шт, л, м3)').Value;
DBGrid2.DataSource.DataSet.Post;
except
   on exception do
ShowMessage('В таблице уже есть запись с такими данными' +#13);
end;
end;
2) если пользователь хочет передать все данные
Код:
procedure TForm1.BitBtn21Click(Sender: TObject);
begin
try
Table1.First;
while not Table1.Eof do begin
DBGrid2.DataSource.DataSet.Append;
DBGrid2.DataSource.DataSet.FieldByName('Наименование').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Наименование').Value;
DBGrid2.DataSource.DataSet.FieldByName('Код').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Код').Value;
DBGrid2.DataSource.DataSet.FieldByName('Объем').Value:=
DBGrid1.DataSource.DataSet.FieldByName('Объем (шт, л, м3)').Value;
DBGrid2.DataSource.DataSet.Post;
Table1.Next;
  end;
    Screen.Cursor := crDefault;
except
   on exception do
ShowMessage('Прежде чем перенести данные очистите таблицу - Переработка' +      #13);
end;
end;
3) если выходит сообщение об ошибке
Цитата:
Прежде чем перенести данные очистите таблицу - Переработка
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
Table2.Delete;
while not Table2.Eof do
  begin
DBGrid2.DataSource.DataSet.Delete;
Table2.First;
  end;
    Screen.Cursor := crDefault;

except
   on exception do
ShowMessage('Таблица не заполнена' +
                            #13);
end;
end;
Писать на стенах туалета, увы, мой друг не мудрено.....
Среди говна - мы все поэты. Среди поэтов - мы говно!
Самоучка вне форума Ответить с цитированием
Старый 28.11.2008, 00:10   #19
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Цитата:
DBGrid2.DataSource.DataSet.Append;
Да уж, самый ближний путь, чтобы добраться до DataSet'a
_Engine_ вне форума Ответить с цитированием
Старый 09.12.2008, 23:23   #20
SergeySV
Новичок
Джуниор
 
Регистрация: 09.12.2008
Сообщений: 1
По умолчанию

Парни спасите курсовик на носу
база магазин типо товаров PARADOX db через тайблы и SQL запросы у меня
Система такая несколько таблиц с товарами разных типов и одна общая где можно поглядеть все там же работает поиск сортировка всё такое из неё я делаю выборку что чел захочет купить в корзину суть в том что я сделал эту таблицу главной те с товарами дочерние (надеюсь правильно сделал) вот когда добавляю в те дочерние новые товары надо чтоб и в эту главную где всё добавлялось и писало в одном поле имя таблицы в которой я добавлял эту строку.. а она мне при добавлении через навигатор пишет нет записи в мастер таблице что то тип такого... я так понимаю связи я сделал и они работают.. а как с этим быть посоветуйте???
SergeySV вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отобразить в dbgrid результат выполнения commandText двух adodataset? Гузель БД в Delphi 2 13.08.2008 16:17
Вставить данные из одного листа (таблицы) в другой kartol Microsoft Office Excel 30 11.08.2008 10:43
Как поместить trackbar в statusbar SeRhy Общие вопросы Delphi 4 11.06.2008 03:58
добавить к опред столбцу DbGrid данные furstenberg Компоненты Delphi 4 27.02.2008 20:15
открываю документ. ввожу дату и другие данные, как сделать чтобы на другой странице велась статистика по Аленка Microsoft Office Excel 5 12.02.2008 17:36