![]() |
|
#1
|
|||
|
|||
![]() Как скопировать запись из DBgrid1 в DBgrid2 если струтура гридов одинаковая, но DBgrid2 находится на другой форме?
|
#2
|
|||
|
|||
![]() копировать надо из DataSet1 в DataSet 2, гриды это только удобное средство для просмотра данных, а не данные...
|
#3
|
|||
|
|||
![]() если у меня в гриде 1000 записей и мне нада скопировать 739-ую в другой грид (или любую другую на которой стоит указатель) как это сделать?
|
#4
|
|||
|
|||
![]() к примеру так тут копируется запись из набора 2 в набор 1:
вместо TField-ов как у меня можно напрямую t2.FieldByName('ID').Value например Код:
t2 перед этим устанавливаешь на нужную запись t1.AppendRecord([t2id.Value,t2data.Value,t2sum.Value]); Последний раз редактировалось xchrom, 16.04.2008 в 16:47. |
#5
|
|||
|
|||
![]() мне нада сделать так:
на главной форме распологается грид в который вбито 1000 наименований продукции. Так же существует форма Заказ на которой распологается второй грид. Мне нужно чтобы, установив курсор на любой записи в главном гриде и нажав на кнопку Добавить в заказ эта запись скопировалась во второй грид, который находится на форме Заказ. Само собой первый и второй грид абсолютно одинаковы, т.е. в таблицах все типы и размер полей равны. |
#6
|
|||
|
|||
![]() Цитата:
Какие компоненты для доступа к данным (т.е. DataSet'ы)? Если TTable или обновляемый TQuery, то путем простой вставки записи е копирования ее содержимого. При этом путь к источника данных надо указывать полностью (с указанием формы). Примерно так: Код:
OrderForm.tOrder.Insert; For I := 0 To OrderForm.tOrder.Fields.Count-1 Do OrderForm.tOrder.Fields[i].Value := SkladForm.tSklad.FieldByName(OrderForm.tOrder.Fields[i].FieldName).Value; OrderForm.tOrder.Post; Если просто TQuery, то можно просто выполнить запрос типа Код:
INSERT INTO Order (SELECT * FROM Storage) Storage - таблица склада (т.е. товаров). Данный запрос подразумевает точную идентичность этих таблиц. Если таблицы не идентичны (просто достаточно что бы был разный порядок полей), то в части SELECT вместо * укажи список полей в том порядке, который соответсвует таблице Order. |
#7
|
|||
|
|||
![]() попробовал сделать вот так
Цитата:
пишет при нажатии на кнопку Копировать запись вот что : Field 'Num' cannot be modified. Num - самое первое поле в таблице, значение ставится счётчиком. |
#8
|
|||
|
|||
![]() Ну правильно пишет. Num скорее всего первичный ключ. Его трогать никак нельзя. Сделай проверку на это поле. Должно тогда получиться что-то вроде:
Код:
OrderForm.tOrder.Insert; For I := 0 To OrderForm.tOrder.Fields.Count-1 Do If OrderForm.tOrder.Fields[i].FieldName = 'Num' Then Continue Else OrderForm.tOrder.Fields[i].Value := SkladForm.tSklad.FieldByName(OrderForm.tOrder.Fiel ds[i].FieldName).Value; OrderForm.tOrder.Post; |
#9
|
|||
|
|||
![]() Спасибо тебе большое добрый человек...всё работает
|
#10
|
|||
|
|||
![]() всегда пожалуйста
![]() |
#11
|
|||
|
|||
![]() При копировании записи из одной таблицы в другую не удается скопировать запись если не все поля видимы. Как можно решить данную проблему
|