![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисляемые поля [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]Тебя не обманывают, сказано нет, значит такого поля нет.