Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.01.2015, 10:38
schuher schuher вне форума
Прохожий
 
Регистрация: 27.01.2015
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Объединение 2 таблиц с одинаковыми полями, но частично с разными данными

Всем привет!!!
Буду благодарен за Вашу помощь!!!
Возникли проблемки в написание кода объединения 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) . Поправьте код, или мою направленность, если такое возможно или подскажите как правильно обращаться к ячейке на коде программировании и выполнять с ней какие либо действия

Последний раз редактировалось schuher, 27.01.2015 в 13:21.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter