![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
есть 2 таблицы в РАЗНЫХ БД АКСЕСА
в первой есть записи: ID кол-во 1 20 2 30 3 40 4 90 а во второй: ID кол-во 2 5 4 30 как осуществить вычитание из поля "кол-во" 1 таблицы из 1 БД, "кол-во" 2 таблицы из 2 БД с одинаковыми ID?(ID не повторяются) |
|
#2
|
||||
|
||||
|
Гранты дать.
|
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
|||
|
|||
|
Код:
begin
adotable2.First;
adoquery2.First;
while not adotable2.Eof do
idz:=ADOtable2.FieldByName('ID_KNIGI').AsInteger;
begin
while not adoquery2.Eof do
begin
idz2:=ADOquery2.FieldByName('ID_KNIGI').AsInteger;
if idz=idz2 then
begin
adotable2.FieldByName('nalichie').AsInteger:=adotable2.FieldByName('nalichie').AsInteger-adoquery2.FieldByName('koltov').AsInteger;
end;
adoquery2.Next
end;
adotable2.Next;
end;
end; ...Последний раз редактировалось lmikle, 06.05.2012 в 19:58. |
|
#5
|
|||
|
|||
|
добавил еще 1 запрос с sql
UPDATE nalich SET nalichie=nalichie-:nal1 WHERE ID_KNIGI=:ikn Код:
begin
adoquery2.open;
adotable2.Open;
adotable2.First;
adoquery2.First;
while not adoquery2.Eof do
begin
adoquery5.Open;
adoquery5.Parameters.ParamByName('nal1').Value:=adoquery2.FieldByName('koltov').Value;
adoquery5.Parameters.ParamByName('ikn').Value:=adoquery2.FieldByName('ID_KNIGI').Value;
adotable2.Post;
adoquery5.Close;
adoquery2.Next
end;
end;
close;
oformzakaz.Show;
end;выдает 2 ошибки 1.Текущий поставщик не поддерживает возврат нескольких наборов записей в результате выполнения одной операции 2.ADO: Сommand text does not return a result set Последний раз редактировалось killmore, 06.05.2012 в 22:26. |
|
#6
|
|||
|
|||
|
Код:
var i2,cnt2:integer;
begin
begin
ADOQuery5.SQL.Add('UPDATE nalich SET nalichie=nalichie-:nal1 WHERE ID_KNIGI=:ikn');
ADOQuery5.ParamCheck:=true;
ADOQuery2.Open;
cnt2:=ADOQuery2.RecordCount-1;
ADOQuery1.First;
adotable1.Open;
for i2 := 0 to cnt2 do
begin
ADOtable2.Active:=true;
ADOtable2.open;
adoquery5.Parameters.ParamByName('nal1').Value:=adoquery2.FieldByName('koltov').Value;
adoquery5.Parameters.ParamByName('ikn').Value:=adoquery2.FieldByName('ID_KNIGI').Value;
ADOQuery5.ExecSQL;
ADOQuery2.Next;
end;
ADOQuery5.SQL.Clear;
ADOtable2.close;
adoquery2.close;
end;
end;типо заработало |