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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.12.2008, 18:31
Sabotender Sabotender вне форума
Прохожий
 
Регистрация: 04.12.2008
Сообщения: 10
Репутация: 10
По умолчанию Обновление

Здрасте ^_^ Вот хотел спросить, как такую процедуру написать, чтобы когда я заполнил таблицу одну, после нажатия кнопки, эта таблица обновила другую, если есть там поля по индексу похожие добавила кол-во, а если нет, то добавила всю новую строку, и второй раз уже кнопку нельзя было нажать. Надо ли эти таблицы связывать, да и как вообще такое написать ^_^ подскажите пожалуста ^_^
Ответить с цитированием
  #2  
Старый 03.01.2009, 16:03
Sabotender Sabotender вне форума
Прохожий
 
Регистрация: 04.12.2008
Сообщения: 10
Репутация: 10
По умолчанию спаксибо народ, я уже сам сделал ^_^

Код:
procedure TForm2.Button1Click(Sender: TObject);
var a,b,c: integer;
f:boolean;
buttonSelected : Integer;
begin
buttonSelected:=MessageDlg('Вы действительно хотите обновить склад',mtInformation,[mbYes,mbCancel], 0);
 if buttonSelected = mrYes then begin
  DBGrid1.SetFocus;
  dm.Prixod.First;
    while not dm.prixod.Eof do
    begin
    f:=true;
      dm.tovar.First;
        while not (dm.tovar.Eof) and (f) do
      begin
       if DM.Tovar['TID'] = dm.prixod['PID'] then
       begin
        dm.Tovar.Edit;
        dm.Tovar['TID']:=dm.Prixod['PID'];
        dm.Tovar['TName']:=dm.Prixod['PName'];
        dm.Tovar['TPriceZak']:=dm.Prixod['PriceZak'];
        dm.Tovar['TPriceProd']:=0;
        a:=StrToInt(DM.Tovar['TKolvo']);
        b:=StrToInt(dm.prixod['PKolPr']);
        c:=a+b;
        dm.Tovar['TKolvo']:=IntToStr(c);
        dm.Tovar.Post;
        f:=false;
       end;
       dm.tovar.next;
      end;
       if f then
        begin
        dm.Tovar.append;
        dm.Tovar['TID']:=dm.Prixod['PID'];
        dm.Tovar['TName']:=dm.Prixod['PName'];
        dm.Tovar['TPriceZak']:=dm.Prixod['PriceZak'];
        dm.Tovar['TKolvo']:=dm.Prixod['PKolPr'];
        dm.Tovar.Post;
        end;
       dm.prixod.Next;
    end;
    end;
end;

вот что я хотел ^_^

Последний раз редактировалось Sabotender, 03.01.2009 в 16:06.
Ответить с цитированием
  #3  
Старый 03.01.2009, 20:18
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,018
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, только маленькое замечание.
1. Обычно такие вещи делаются с помощью триггеров.
2. Обычно такие вещи делаются в транзакции.
Ответить с цитированием
  #4  
Старый 06.01.2009, 17:14
Sabotender Sabotender вне форума
Прохожий
 
Регистрация: 04.12.2008
Сообщения: 10
Репутация: 10
По умолчанию

ну я таких штук не знаю, я не начитаный ^_^ да и почему сразу не написать об этом? ^_^ Я уже и курсовую сдал, жаль на 4 ^__^ 5 хотелось, старался всё-таки, а **** училка меня ненавидит и завалила ^_^
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter