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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.03.2013, 22:35
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию Копирование данных из одной базы в другую

Нужно копировать данные из Грида1(ADOQuery1) в Грид2(ADOQuery4), но чтобы при этом при многократном нажатии на одну и ту же позицию, эти данные не повторялись. А уменя получается скажем строка где 4 болта повторяется столько раз, сколько я нажму на кнопку. А этого не должно быть.. Помоги пжлст))

Вот код моей кнопки:
Код:
procedure TForm1.Button13Click(Sender: TObject);
var
asd:string;
i2:integer;
a1:string;
a2:string;
begin
asd:=ADOQuery1.FieldByName('Клиент').Text;
ADOQuery1.FieldByName('Расхождения').ReadOnly:=false;
ADOQuery1.Edit;
ADOQuery1.Fields[4].Value:=ADOQuery1.Fields[3].Value-ADOQuery1.Fields[2].Value;
ADOQuery1.FieldByName('Расхождения').ReadOnly:=true;
ADOQuery1.FieldByName('Клиент').ReadOnly:=true;
ADOQuery1.Post;
ADOQuery4.Close;
ADOQuery4.SQL.Clear;
ADOQuery4.SQL.Text:= Format('SELECT * from %s', [asd]);
ADOQuery4.ExecSQL;
ADOQuery4.Open;
if ADOQuery4.FieldByName('По_факту').Text=ADOQuery1.FieldByName('По_факту').Text then
begin
exit;
end;
ADOQuery4.Append;
ADOQuery4.FieldByName('Код').Value:= ADOQuery1.FieldByName('Код').Value;
ADOQuery4.FieldByName('По_факту').Value:=ADOQuery1.FieldByName('По_факту').Value;
ADOQuery4.Post;
end;
Ответить с цитированием
  #2  
Старый 19.03.2013, 22:53
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Опять выкрутился, правда замудрено)) Я уверен что такой выход из ситуации мало кому в голову пришел бы))
Вообще перед условием я вставил Locate и вуаля, все как и было задумано)
Надеюсь это кому нибудь пригодится
Код:
ADOQuery4.Locate('По_факту',ADOQuery1.FieldByName('По_факту').value,[loCaseInsensitive] );
if ADOQuery4.FieldByName('По_факту').Text=ADOQuery1.FieldByName('По_факту').Text then
begin
exit;
end;
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter