|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Копирование данных из одной базы в другую
Нужно копировать данные из Грида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
|
|||
|
|||
Опять выкрутился, правда замудрено)) Я уверен что такой выход из ситуации мало кому в голову пришел бы))
Вообще перед условием я вставил Locate и вуаля, все как и было задумано) Надеюсь это кому нибудь пригодится Код:
ADOQuery4.Locate('По_факту',ADOQuery1.FieldByName('По_факту').value,[loCaseInsensitive] ); if ADOQuery4.FieldByName('По_факту').Text=ADOQuery1.FieldByName('По_факту').Text then begin exit; end; |