![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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; |