Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Одна форма для всех таблиц   Найти похожие ветки 

 
quadronik ©   (2005-09-25 01:52) [0]

Решил сэкономить на размере приложения и поступил так:
создал одну форму для заполнения нескольких таблиц. На форму положил DBEdit и при OnShow формы написал так:
if flag_tbl=1 then //flag_tbl -флаг подключаемой таблицы
 begin
 dbedit.DataSource:=datamodule1.DataSource_regions;
 dbedit.DataField:="region";
 end;
if flag_tbl=2 then
 begin
 dbedit.DataSource:=datamodule1.DataSource_city;
 dbedit.DataField:="city";
 end; и т.д.
Заметил такую ерунду:если открыть форму первый раз, то все нормально(DBEdit правильно настраивается на нужную таблицу), но если второй, третий и т.д. раз и для другой таблицы - то не происходит переиницилизация свойств DataSource и DataField, и выводится сообщение <DBEdit: Field "region" not found>(или <DBEdit: Field "city" not found> - зависит от того к какой таблице был подключен DBEdit последний раз) .
При повторном открытии формы для этой же таблицы - никаких ошибок (DataSource и DataField настроены правильно). Ошибка повторяется если попробовать открыть форму для другой таблицы.
Проще говоря: Дельфи ругается, что не может найти поля той таблицы, которая была подключена последней раз.
ЗЫ. Прощу прощения, если объяснил недоходчиво. Пытался прорисовать всю картину происходящего.
Спасибо.


 
Johnmen ©   (2005-09-25 01:57) [1]

Видимо, ОнШоу генерится только один раз...
Посему, что значит "открыть форму" ?


 
Prohodil Mimo ©   (2005-09-25 16:35) [2]

не забывай устанавливать DataField:="". перед сменой DataSource

begin
 dbedit.DataField:="";
dbedit.DataSource:=datamodule1.DataSource_regions;
dbedit.DataField:="region";
end;

Я создаю процедуру, которая делает всё что надо, а потом открывает форму.

Procedure FActivate;
Begin
{
тут делаем всё что надо
}
  form1.showmodal;
End;


 
quadronik ©   (2005-09-26 06:00) [3]

>Prohodil Mimo
>не забывай устанавливать DataField:="". перед сменой DataSource

Именно в этом и была загвоздка, теперь все заработало
Спасибо, что выручили!.



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
1-1129612559
lehich
2005-10-18 09:15
2005.11.06
ChildNodes и Attributes


2-1128903401
Raziel
2005-10-10 04:16
2005.11.06
Открытие файлов


14-1129205025
NailMan
2005-10-13 16:03
2005.11.06
Определение железки по индентификатору


14-1128978307
LordOfRock
2005-10-11 01:05
2005.11.06
Вот я тут ещё один сайтик сварганил...


3-1127490087
bbn
2005-09-23 19:41
2005.11.06
Tools to MS SQL