Page 86
Ф-ОБ-001/033
87
begin
if (ph=-1) and Qry.Active and (not QryId.isNull) then ph:=Qryid.Value;
qry.close;
//закрыть запрос
qry.open;
//открыть запрос
qry.first;
//открыть запрос
try
if not qry.IsEmpty then
qry.Locate('id',ph,[]);// позиционируем на нужной записи
except
end;
//вывод общего количества записей
status.Panels[0].text:=format('Всего %d тура(ов)',[qry.recordcount]);
end;
//Добавить запись
procedure TFrmmain.BtnAddClick(Sender: TObject);
var i:integer;
begin
Application.CreateForm(TFrmEdit, FrmEdit); //создать форму редактирования
i:=-1;
with FrmEdit do
begin
caption := 'Добавить тур'; //надпись на окне
dm.TblTurs.Open;
dm.TblTurs.Append;
//Добавить пустую запись
if ShowModal=mrOk then
begin
dm.TblTurs.post; //сохранить если Ок
i:=dm.TblTursid.Value;
end
else dm.TblTurs.Cancel;//отменить если Отмена
free; //освободить память из под формы
end;
Refresh(i); //обновить данные
end;
//Редактировать тур
procedure TFrmmain.BtnEditClick(Sender: TObject);
begin
Application.CreateForm(TFrmEdit, FrmEdit); //создаем форму
with FrmEdit do
begin
caption := 'Редактировать тур';
dm.TblTurs.Open;
dm.TblTurs.Locate('id',QryId.AsInteger,[]);
Ф-ОБ-001/033
88
dm.TblTurs.edit; //переходим в режим редактирования
if ShowModal=mrOk then
begin
dm.TblTurs.post; //сохранить если Ок
end
else dm.TblTurs.Cancel; //иначе отменяем любые изменения
free;
end;
refresh(QryId.AsInteger);
//обновить данные
end;
//Удалить запись
procedure TFrmmain.BtnDelClick(Sender: TObject);
begin
if not (MessageBox(0, 'Вы действительно хотите удалить выбраннуй тур?',
'Удаление', MB_ICONQUESTION or MB_YESNO) = idYes)
then exit;
dm.TblTurs.Open;
dm.TblTurs.Locate('id',QryId.AsInteger,[]);
dm.TblTurs.Delete();
refresh(-1);
//обновление
end;
// показ панели сортировки
procedure TFrmmain.ComboSortChange(Sender: TObject);
begin
sort2:='';
if
ComboSort2.ItemIndex<>0
then
sort2:=grid.Columns[ComboSort2.ItemIndex].FieldName;
GridTitleClick(grid.Columns[ComboSort.ItemIndex]);
end;
//Поиск по началу слова
procedure TFrmmain.EditChange(Sender: TObject);
begin
if not qry.Filtered then
//если не режим фильтрации
//поиск без учета регистра и по неполному слову
qry.Locate(SortField,edit.Text,[loCaseInsensitive, loPartialKey])
else
qry.Refresh; //иначе обновить запрос
end;
//При обновлении данных
procedure TFrmmain.DataSource1DataChange(Sender: TObject; Field: TField);
begin
//Кнопки удаления и редактирования доступны
//только если база не пустая
Достарыңызбен бөлісу: |