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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.04.2012, 08:25
Aps Aps вне форума
Прохожий
 
Регистрация: 06.04.2012
Сообщения: 21
Репутация: 10
По умолчанию PageControl

Всем привет.

Возникла небольшая проблемка:
На PageControl1 размещен groupbox. в котором размещены DBEdit подключенные к таблице, и одна кнопка добавить новую запись в таблицу. Проблема в том, что при нажатии на эту кнопку форма закрывается, почему не могу понять.

код кнопки:
Код:
procedure TfEditor.BitBtn2Click(Sender: TObject);
begin
if DM.TPriemPerevod.Modified then
DM.TPriemPerevod.Post;
DM.TPriemPerevod.Append;
DBEdit48.SetFocus;
end;

БД сделана в акцессе, подключена через адо.

И еще вопрос как при вызове формы с PageControl, выделить первую вкладку?

Заранее спасибо.
Ответить с цитированием
  #2  
Старый 09.04.2012, 08:41
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

по второму
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
PageControl1.ActivePageIndex:=0;
end;

а в первом не так должно быть?
Код:
if DM.TPriemPerevod.Modified then
 begin
  DM.TPriemPerevod.Post;
  DM.TPriemPerevod.Append;
  DBEdit48.SetFocus;
 end;
Ответить с цитированием
  #3  
Старый 09.04.2012, 08:49
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
PageControl1.ActivePageIndex:=0;
ставишь точку останова на if и по F7 вперед смотреть...
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 09.04.2012, 08:52
Aps Aps вне форума
Прохожий
 
Регистрация: 06.04.2012
Сообщения: 21
Репутация: 10
По умолчанию

Попробывал на добавление, выдает ошибку: TPriemPerevodataSet not in edit or insert mode. в чем проблема может быть?

Последний раз редактировалось Aps, 09.04.2012 в 09:21.
Ответить с цитированием
  #5  
Старый 12.04.2012, 13:08
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Я не понимаю почему сначала идет команда запостить изменения, а после нее добавления записи? Или на данный код логика не распространяется?
__________________
Google в помощь
Ответить с цитированием
  #6  
Старый 12.04.2012, 13:14
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

это уже ALexandr555 сумбур внес. у ТС вполне сносно было, но из-за отсутствия форматирования кода не читабельно:
Код:
if DM.TPriemPerevod.Modified then
  DM.TPriemPerevod.Post;
DM.TPriemPerevod.Append;
DBEdit48.SetFocus;
сначала идет проверка на изменение записи и если запись изменялась, то данные постятся. а уж потом выполняется добавление новой записи. это кнопка добавления новой записи.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 12.04.2012, 14:20
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Aps
при нажатии на эту кнопку форма закрывается, почему не могу понять.
Это я понимаю основная проблема. Код кнопки:
Если есть изменения, то постим;
Добавляем новую запись;
Фокусируемся на едите.

Вопрос:
Где расположен DBEdit48?
Попробуйте закомменитровать:
Код:
//DBEdit48.SetFocus;
Может быть она не закрывается, а фокусируется на другой форме и кажется, что окно закрывается.
А если окно модальное, то надо посмотреть чтоб у данной кнопки свойство ModalResult не было установлено в mrCancel.
__________________
Google в помощь
Ответить с цитированием
  #8  
Старый 12.04.2012, 16:51
Aps Aps вне форума
Прохожий
 
Регистрация: 06.04.2012
Сообщения: 21
Репутация: 10
По умолчанию

Дбедит 48 находится на панеле на 4 вкладке. Пробовал без сет фокуса, эфект тотже.
Ответить с цитированием
  #9  
Старый 12.04.2012, 17:39
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Aps
БД сделана в акцессе, подключена через адо.
Может тогда поделитесь проектом, мы дружно посмотрим его и поможем решить проблему, вместо того чтоб гадать. Если конечно не сверхсекретные данные в базе.
__________________
Google в помощь
Ответить с цитированием
  #10  
Старый 13.04.2012, 08:29
Aps Aps вне форума
Прохожий
 
Регистрация: 06.04.2012
Сообщения: 21
Репутация: 10
Восклицание

держите архив с исходниками.
Ну уж такое дело, гляньте еще в отчете на первую таблицу запрос. немогу понять почему он работает только после открытия закрытия программы, вернее обновляет результат.
Вложения
Тип файла: rar YchetKadrov1.rar (734.3 Кбайт, 4 просмотров)
Ответить с цитированием
  #11  
Старый 13.04.2012, 11:48
Aps Aps вне форума
Прохожий
 
Регистрация: 06.04.2012
Сообщения: 21
Репутация: 10
По умолчанию

на счет запроса это конечно не обязательно просто интересно почему он не обновляет результаты при открытии формы.
Я решил сделать запрос на кнопку, результаты запроса заносятся в stringgrid а потом просто все в exell выкидывает, кстати на кнопке все корректно работает.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter