Всем привет!!!
Буду благодарен за Вашу помощь!!!
Возникли проблемки в написание кода объединения 2 таблиц(tb1,tb2) с полями tb1(n,name,kol,ed_izm) и tb2(n,name,dw,kol,ed_izm).
То есть суть такова, мне необходимо в общую таблицу tb1 внести данные, которые будут в tb2, но не просто объединить, а произвести действия с ними. К примеру: [IMG]
[/IMG]
Поясняю:
пока не конец tb2 делаю
Если1 в tb1.name равно tb2.name делаю
если2 tb2.dw='прих' делаю tb1.kol:=tb1.kol+tb2.kol
иначе2 если3 tb2.dw='расх' делаю tb1.kol:=tb1.kol-tb2.kol
иначе1 tb1 добовляем строки из tb2
Работаю с помощью ADOQuere, таблицы в Access2003.
То есть не получается написать правильно код!
Возможно условие цикла не правильно задаю!
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
s:integer;
begin
if DM.ADOQuery2.Modified then begin
DM.ADOQuery2.Post;
DM.ADOQuery2.First;
while not DM.ADOQuery2.Eof do begin
s:= DM.ADOQuery2.FieldByName('kol').AsInteger;
if Trim(AnsiLowerCase(DM.ADOQuery2.FieldByName('name').Text))= Trim(AnsiLowerCase(DM.ADOQuery1.FieldByName('name').Text))
then begin
DM.ADOQuery1.Close;
DM.ADOQuery1.SQL.Clear;
DM.ADOQuery1.SQL.Add('UPDATE Dvig SET kol=kol+s');
DM.ADOQuery1.ExecSQL;
end;
DM.ADOQuery2.Next;
end;
end;
Сам код на компиляцию ошибок не выдает, но при выполнении ругается на переменную S. Тем самым попробывал в запросе вместо S поставить цифру 5, данные изменяются причем все, а нужно чтобы изменились только совподающии данные с поля(name) из таблиц (tb1,tb2) . Поправьте код, или мою направленность, если такое возможно или подскажите как правильно обращаться к ячейке на коде программировании и выполнять с ней какие либо действия