|
|
Регистрация | << Правила форума >> | 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; типо заработало |