Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисляемые поля [D6, dBase, FoxPro]


Beethoven ©   (2004-08-17 11:52:00) 

Поставил в форму компоненты: Table, datasource, dbgrid
table1.DatabaseName:= ExtractFilePath(Application.ExeName);
table1.TableName:='test.dbf';
table1.fieldbyname('stt').calculated:=true;
table1.fieldbyname('stt2').calculated:=true;
table1.Active :=true;

procedure TForm1.Table2CalcFields(DataSet: TDataSet);
begin
table1.fieldbyname'summa'):=table1.fieldbyname'stt').value*table1.fieldbyname('stt2').value;
end;

Выходит ошибка "table1.stt field not found"

Не пойму почему может не туда поставил?
Может из-за типа БД, но мне точно нужен фокспровский


афвуд   (2004-08-17 13:57:00) [1]


> Что? Ты хоть понимаешь разницу между реальными и виртуальными
> (расчетными) полями.


Не понимает имхо.


Anatoly Podgoretsky   (2004-08-17 13:11:00) [2]

Beethoven ©   (17.08.04 12:51) [14]
Что? Ты хоть понимаешь разницу между реальными и виртуальными (расчетными) полями.


Sergey13   (2004-08-17 12:56:00) [3]

2[14] Beethoven ©   (17.08.04 12:51)
>Поле реально существует в файле
Тогда лихо ты с ним. 8-)


Beethoven   (2004-08-17 12:51:00) [4]

Поле реально существует в файле
а после активирования таблицы программа говорит при открытом датасете нельзя


афвуд   (2004-08-17 12:23:00) [5]


> А что нельзя сделать то поле которое нужно сделать вычисляемым

Можно. Но это поле реально существует в таблице? Или оно просто вычисляемо и уже существует? Тогда оно бы не выдавало ошибки. Следовательно тебе нужно сначала его создать(это поле), прежде чем обращаться или оно появляется после table1.Active :=true;.


Beethoven   (2004-08-17 12:18:00) [6]


> А что любое поле, даже существующее реально в базе можно
> превратить в calculated и баловаться с ним сколько хочешь?


А что нельзя сделать то поле которое нужно сделать вычисляемым


> Anatoly Podgoretsky ©   (17.08.04 12:14) [11]


Может ты и прав но все таки но задача стоит из-за этого   :)


Anatoly Podgoretsky   (2004-08-17 12:14:00) [7]

Это только твои слова против слов Дельфи


афвуд   (2004-08-17 12:12:00) [8]

Вопрос не совсем в тему:
А что любое поле, даже существующее реально в базе можно превратить в calculated и баловаться с ним сколько хочешь?


Beethoven   (2004-08-17 12:10:00) [9]


> dolmat   (17.08.04 12:06) [6]
> procedure TForm1.Table2CalcFields(DataSet: TDataSet);
> begin
> table1.fieldbyname'summa').??????????:=table1.fieldbyname'stt').value*table1.fieldbyname('stt2').value;
> end;


До этого программа просто не доходит


Beethoven   (2004-08-17 12:09:00) [10]


> 46_55_41_44 ©   (17.08.04 12:06) [5]
>
> > table1.DatabaseName:= ExtractFilePath(Application.ExeName);
>
> Слушай ExtractFilePath тебе выдаст путь к exe файлу... а
> имя файла БД где????

table1.DatabaseName:= ExtractFilePath(Application.ExeName);
table1.TableName:='test.dbf';


> dolmat   (17.08.04 12:02) [3]
> Сначала в Table надо создать эти поля и лучше на стадии
> разработки

В том то и дело что она есть, физически сущеествует

Anatoly Podgoretsky
???????????????


46_55_41_44   (2004-08-17 12:07:00) [11]

УУУУУУУУУУППППСССС... пардон...


dolmat   (2004-08-17 12:06:00) [12]

procedure TForm1.Table2CalcFields(DataSet: TDataSet);
begin
table1.fieldbyname'summa').??????????:=table1.fieldbyname'stt').value*table1.fieldbyname('stt2').value;
end;


46_55_41_44   (2004-08-17 12:06:00) [13]


> table1.DatabaseName:= ExtractFilePath(Application.ExeName);

Слушай ExtractFilePath тебе выдаст путь к exe файлу... а имя файла БД где????


Anatoly Podgoretsky   (2004-08-17 12:05:00) [14]

Beethoven ©   (17.08.04 12:01) [2]
В других процедурах это поле существует.


dolmat   (2004-08-17 12:02:00) [15]

Сначала в Table надо создать эти поля и лучше на стадии разработки


Beethoven   (2004-08-17 12:01:00) [16]

В том то и дело что существует такое поле, я использую ее в других процедурах она нормально работает


Anatoly Podgoretsky   (2004-08-17 11:56:00) [17]

Тебя не обманывают, сказано нет, значит такого поля нет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо