![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Может кто кодом поделится (если есть, конечно
) У меня в одной базе данных (Access) две таблицы, они одинаковые отображаются в dbgrid1 и dbgrid2 в первом гриде данные заполняются, в второй грид надо переносить записи из первого которые уже не нужны, ну тоесть из таблицы 1 в таблицу 2 по кнопке |
|
#2
|
||||
|
||||
|
Use Append/Post на втором наборе.
|
|
#3
|
|||
|
|||
|
Код:
procedure TForm2.Button3Click(Sender: TObject);
begin
try
form2.ADOQuery2.SQL.Clear;
form2.ADOQuery2.SQL.Add('INSERT INTO zakazKLGOTOV SELECT * FROM ZakazKL');
form2.ADOQuery2.ExecSQL;
form2.ADOQuery1.SQL.Clear;
form2.ADOQuery1.SQL.Add('SELECT * FROM ZakazKLGOTOV');
form2.ADOQuery1.Active:=True;
except
on e:Exception do
end;Нашел вот такой способ,под себя подправил, по описанию для чего - подходит. Вот только не работает( |
|
#4
|
|||
|
|||
|
Может кто поможет сделать это все без SQL, сил шарить просторы интернета уже нету(
|
|
#5
|
||||
|
||||
|
Оффтоп:
А чем помочь-то, когда задача не ясна, один туман: перенести запись из одной таблицы в другую целиком или отдельные значения ячеек, непонятки, нужен образец требуемого действия |
|
#6
|
|||
|
|||
|
Ну, например так:
Код:
ADOQuery2.Append; For I := 0 To ADOQuery1.Fields.Count-1 Do ADOQuery2.Fields[i].Value := ADOQuery1.Fields[i].Value; ADOQuery2.Post; |
|
#7
|
|||
|
|||
|
Цитата:
Пытаюсь с твоим кодом выдает компилятор: [dcc32 Error] Unit2.pas(76): E2003 Undeclared identifier: 'I' Код:
procedure TForm2.Button3Click(Sender: TObject); begin form11.ADOQuery1.Append; For I := 0 To form2.ADOQuery1.Fields.Count-1 Do form11.ADOQuery1.Fields[i].Value := form2.ADOQuery1.Fields[i].Value; form11.ADOQuery1.Post; end; Что я не так наделал? ![]() |
|
#8
|
||||
|
||||
|
У..у, man...
var I: Integer; |
|
#9
|
|||
|
|||
|
Цитата:
|
|
#10
|
||||
|
||||
|
Ну "Undeclared identifier" то исчез
А поле всегда можно исключить внутри цикла. |
|
#11
|
|||
|
|||
|
Цитата:
Код:
procedure TForm2.Button3Click(Sender: TObject);
var I:integer;
begin
form11.ADOQuery1.Append;
For I := 0 To form2.ADOQuery1.Fields.Count-1 Do
form11.ADOQuery1.Fields[i].Value := form2.ADOQuery1.Fields[i].Value;
form2.adoquery1.delete;
fieldbyname('Код').value:=Fields[i]
form11.ADOQuery1.Post;
end;Последний раз редактировалось lmikle, 08.09.2017 в 18:44. |
|
#12
|
||||
|
||||
|
Применить условный оператор if.
|
|
#13
|
|||
|
|||
|
Цитата:
Код:
procedure TForm2.Button3Click(Sender: TObject); var I:integer; begin form11.ADOQuery1.Append; For I := 0 To form2.ADOQuery1.Fields.Count-1 Do form11.ADOQuery1.Fields[i].Value := form2.ADOQuery1.Fields[i].Value; form11.ADOQuery1.Post; end; |
|
#14
|
|||
|
|||
|
Цитата:
Код:
procedure TForm2.Button3Click(Sender: TObject);
var I:integer;
begin
form11.ADOQuery1.Append;
For I := 0 To form2.ADOQuery1.Fields.Count-1 Do
if form11.ADOQuery1.Fields[i].FieldName <> 'Код' Then
form11.ADOQuery1.Fields[i].Value := form2.ADOQuery1.Fields[i].Value;
form11.ADOQuery1.Post;
end;PS. Может все-таки книжку какую умную почитать сначала, а потом уже программировать? |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Ekler1 (11.09.2017)
| ||
|
#15
|
|||
|
|||
|
Цитата:
P.S. Книги начал читать) |