![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Всем привет! есть две таблицы Tb1 и Tb2, нужно перекинуть выбранную строчку из ревой DBGrid на вторую (из первой таблица на вторую) использую ADOquery бд Access. спасибо!
|
|
#2
|
|||
|
|||
|
SQL:
Код:
insert into Tb2 select * from Tb1 where id = :id; Структура таблиц должна быть одинаковая. Delphi: Код:
Tb2.Edit; For I := 0 To Tb1.Fields.Count-1 Do Tb2.Fields[i].Value := Tb1.Fields[i].Value; Tb2.Post; Если структура разная, то нужен список перекидываемых полей. Соответсвенно, в случае SQL надо будет генерировать запрос в рантайм (если для разных таблиц нужна операция). В случае Delphi, просто идем по списку имен полей и обращаемся через FieldByName(names[i]) вместо Fields[i]. |
|
#3
|
|||
|
|||
|
lmikle не могли бы вы полностью прописать код?
|
|
#4
|
||||
|
||||
|
Из действующего проекта. Вставка выбранных записей из одной таблицы в другую:
Код:
procedure TwPricemaking.kToPriceClick(Sender: TObject);
var
cRow:integer;
begin
if (gDetailing.SelectedRows.Count<0) then exit;
if GiPriceListId=null then exit;
{Перезапись выбранных столбцов в Price}
with gDetailing.DataSource.DataSet do
for cRow:=0 to gDetailing.SelectedRows.Count-1 do begin
GotoBookmark(pointer(gDetailing.SelectedRows.Items[cRow]));
iDetailID:=FieldByName('DETAIL_ID').AsInteger;
iLabourPrice:=FieldByName('LABOUR_COST').AsInteger;
sLongName:=FieldByName('DETAIL_LONGNAME').AsString;
iSeqence:=wPricing.hSpBase.Gen_Id('PRICE_SEQ',1);
wPricing.hrPrices.Append;
wPricing.hrPrices.FieldByName('PRICE_ID').AsInteger:=iSeqence;
wPricing.hrPrices.FieldByName('PRICELIST_ID').AsInteger:=GiPriceListId;
wPricing.hrPrices.FieldByName('DETAIL_ID').AsInteger:=iDetailID;
wPricing.hrPrices.FieldByName('LABOUR_PRICE').AsInteger:=iLabourPrice;
wPricing.hrPrices.FieldByName('DETAIL_LONGNAME').AsString:=sLongName;
end;
end;Последний раз редактировалось Viajero, 16.05.2012 в 15:34. |