Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как скопировать запись из одной таблицы DBGrid1 в другую таблицу [D7]


Страницы:   1 2

alkin ©   (2006-04-28 10:00:00) 

Как скопировать запись из одной таблицы DBGrid1 в другую таблицу DBGrid2 максимальнобыстро.  Спасибо.


Sergey13   (2006-04-28 13:07:00) [1]

2 [32] alkin   (28.04.06 13:00)
Как те код давать, если ты задачу сформулировать не можешь.


alkin   (2006-04-28 13:00:00) [2]

Ну тогда кто-то может просто сможет дать конкретные строчки кода для копирования записи из одной связки DataSet1 - Table1(DBGrid1) в другую связку DataSet2 - Table2(DBGrid2)


Плохиш   (2006-04-28 12:56:00) [3]


> alkin   (28.04.06 12:49) [29]
>  DataModule2.OtborTable.Active:=True;       //активирую пустую таблицу
>  DataModule2.DataSource1.DataSet:=DataModule2.BookTable;
>  DataModule2.BookTable.IndexFieldCount;    //здесь найденная запись

>  DataModule2.OtborTable.IndexFieldCount;   // не вставляет найденную
>  DataModule2.DataSource3.DataSet.Insert;  // запись в таблицу  
>  DataModule2.OtborTable.Post;                  // OtborTable

Что это, Беримор? 8-O


Sergey13   (2006-04-28 12:55:00) [4]

2[29] alkin   (28.04.06 12:49)
Нифига не понял. Китайская грамота какая-то. 8-)


alkin   (2006-04-28 12:49:00) [5]

К сожалению не получается у меня перенести найденные записи. Может кто подскажет, где ошибка, делаю так:

 DataModule2.OtborTable.Active:=True;       //активирую пустую таблицу
 DataModule2.DataSource1.DataSet:=DataModule2.BookTable;
 DataModule2.BookTable.IndexFieldCount;    //здесь найденная запись

 DataModule2.OtborTable.IndexFieldCount;   // не вставляет найденную
 DataModule2.DataSource3.DataSet.Insert;  // запись в таблицу
 DataModule2.OtborTable.Post;                  // OtborTable


Desdechado   (2006-04-28 11:54:00) [6]

Dataset.AppendRecord


alkin   (2006-04-28 11:53:00) [7]

>А может тут SQL поможет (запрос с нахождением записей в которых входит  подстрока в строку)  ?

Не нужен никакой SQL, поиск уже организован. Просто необходимо скопировать строки.


Плохиш   (2006-04-28 11:53:00) [8]


> alkin   (28.04.06 11:51) [24]
> >Забыть про номера строк, ввести в набор данных уникальное
> поле, запоминать это поле и при копировании использовать
> это поле.
>
> А как копировать-то ?

1. Переход с помощью Locate на нужную запись и выполнение [3].
2. Выполнение SQL-запроса.


Sergey13   (2006-04-28 11:51:00) [9]

2[21] alkin   (28.04.06 11:39)
>В том то и дело, что это не фильтр,
А что же это?

>потому что я нахожу например:
подстрока поиска: пер
находятся строки: Магазин №2 на переулке Большом. или Первый канал и т.д.

Ну так и сделай свой "пер" фильтром - останутся только те что нужны.


alkin   (2006-04-28 11:51:00) [10]

> Забыть про номера строк, ввести в набор данных уникальное поле, запоминать это поле и при копировании использовать это поле.

А как копировать-то ?


balepa   (2006-04-28 11:50:00) [11]

Ну бери из базы запись RecNo и вставляй в др. Dataset с которым связан DBGrid2

А может тут SQL поможет (запрос с нахождением записей в которых входит  подстрока в строку)  ?


Плохиш   (2006-04-28 11:47:00) [12]


> alkin   (28.04.06 11:39) [21]


> DBGrid отображает базу из Access-файла.

DBGrid не может отобразить базу, он отображает данные из привязанного к нему с помощью связки TDBGrid.DataSource.DataSet набора данных, полученного из таблицы дазы данных или при выполнения SQL-запроса к базе данных.

> номера строк, где найдены вхождения определены

Забыть про номера строк, ввести в набор данных уникальное поле, запоминать это поле и при копировании использовать это поле.


alkin   (2006-04-28 11:39:00) [13]

Используется ADO. DBGrid отображает базу из Access-файла. При поиске любой подстроки в базе, осуществляется поиск, и номера строк, где найдены вхождения определены. Не знаю как правильно сформулировать еще вопрос, в общем мне строки с этими RecNo-мерами как-то нужно скопировать в другой DBGrid.
В том то и дело, что это не фильтр, потому что я нахожу например:
подстрока поиска: пер
находятся строки: Магазин №2 на переулке Большом. или Первый канал и т.д.
И вот имея RecNo всех строк мне нужно (ну может быть сформировать, а не скопировать) из этих записей (со всеми колонками как в DBGrid конечно) новый DBGrid.


ЮЮ   (2006-04-28 11:31:00) [14]

Фильтр уже организован и работает.
Если фильт работает, то и первый грид показывает только отобранные строки. Или это не фильтр (в терминах DataSet-а) или он не работает

>Нужен именно отбор строк с копированием их в другой DBGrid.
Когда есть отфильтрованный DataSet, его можно одновременно показывать хоть в трех DBGrid-ах, указав у них один и тот же DataSource


Плохиш   (2006-04-28 11:23:00) [15]


> alkin   (28.04.06 11:16) [16]
> Причем сами строки (т.е. номера строк для копирования я
> могу определить. но КАК СКОПИРОВАТЬ в другой DBGrid)

Нельзя скопировать то чего нет туда где ничего не нужно.
А на вопрос, после обработки телепатором, ответ уже был дан в ЮЮ ©   (28.04.06 10:14) [3].


balepa   (2006-04-28 11:19:00) [16]


> alkin   (28.04.06 11:13) [14]

Че то непойму строки в DBGrid или записи в таблице (БД) ?


isasa   (2006-04-28 11:17:00) [17]

Если с Access работаем через ADO, очень удобно

TCustomADODataSet.Clone(Source: TCustomADODataSet; LockType: TLockType = ltUnspecified);


alkin   (2006-04-28 11:16:00) [18]

Причем сами строки (т.е. номера строк для копирования я могу определить. но КАК СКОПИРОВАТЬ в другой DBGrid)


alkin   (2006-04-28 11:15:00) [19]

Фильтр уже организован и  работает. Нужен именно отбор строк с копированием их в другой DBGrid. Спасибо.


alkin   (2006-04-28 11:13:00) [20]

Ну я имею ввиду строки


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо