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

Вниз

Как внести рассчитанное значение?...   Найти похожие ветки 

 
Владий   (2003-07-23 16:00) [0]

Значение одного из полей должно расчитываться, а вот с записание его - проблемы...
самый логичный (с моей непосвещенной точки зрения) вариант
DBEdit1.Text := P;
не подходит... текст-то показывается, но вот только при выборе поля он пропадает...

PS. Данные из базы получаю через ADOTable...


 
alex_bredin ©   (2003-07-23 16:12) [1]

н-да,точка зрения действительно...

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


 
sniknik ©   (2003-07-23 16:41) [2]

Владий (23.07.03 16:00)
если сохраняеш чего нибудь то сохраняй в базу/таблицу а не визуальный компонент
> текст-то показывается, но вот только при выборе поля он пропадает...
изменяеш Text = TMaskedText
показывается маска.

так примерно
ADOTable.Edit;
ADOTable.FieldByName(DBEdit1.DataField).AsString:= P;
ADOTable.Post;


 
Владий   (2003-07-23 17:53) [3]

Пишу более подробно... Сейчас ковырялся - пришлость получать данные из 2-х связанных таблиц, поэтому воспользовался ADOQuery

запрос: select * from companies, payments, firm
where (companies.Comp_name = payments.Comp_name)
and (payments.Firm_name = firm.Firm_name)

При внесении численной суммы она должна перегоняться в словесное выражение, делается так:

procedure TForm1.PSumEnter(Sender: TObject);
var
sum : Double;
s : String;
Cop, Rub, Pwr : Integer;
P : PChar;
begin
Cop := 4;
Rub := 2;
Pwr := 2;

P := nil;


try try
sum := PSum.Value;
GetMem(P, 1000);
num_to_rub(sum, Cop, Rub, Pwr, P);
ADOQuery1.Edit;
ADOQuery1.FieldByName(DBEdit1.DataField).AsString:= P;
ADOQuery1.Post;

except
on EConvertError do begin
Application.MessageBox("Точно число?", "Ошибка", IDOK);
end
end
finally
( P) Пишу более подробно... Сейчас ковырялся - пришлость получать данные из 2-х связанных таблиц, поэтому воспользовался ADOQuery

запрос: select * from companies, payments, firm
where (companies.Comp_name = payments.Comp_name)
and (payments.Firm_name = firm.Firm_name)

При внесении численной суммы она должна перегоняться в словесное выражение, делается так:

procedure TForm1.PSumEnter(Sender: TObject);
var
sum : Double;
s : String;
Cop, Rub, Pwr : Integer;
P : PChar;
begin
Cop := 4;
Rub := 2;
Pwr := 2;

P := nil;


try try
sum := PSum.Value;
GetMem(P, 1000);
num_to_rub(sum, Cop, Rub, Pwr, P);
ADOQuery1.Edit;
ADOQuery1.FieldByName(DBEdit1.DataField).AsString:= P;
ADOQuery1.Post;

except
on EConvertError do begin
Application.MessageBox("Точно число?", "Ошибка", IDOK);
end
end
finally
FreeMem(P);
end

end;

НО: Теперь ругается на "DataSet not in edit or insert mode".
И где его сменить?...

Хорошей Удачи!
Владий // ICQ: 47659886



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
14-58430
Delphi5.01
2003-08-02 20:51
2003.08.18
Pravilnoe osveshenie?


14-58483
kamchatik
2003-07-23 16:24
2003.08.18
Работа с Install Shield Express


14-58432
Yanis
2003-08-03 02:57
2003.08.18
off


14-58450
Buka
2003-08-02 06:05
2003.08.18
Работа с avi-файлами


14-58472
Jean
2003-07-23 20:45
2003.08.18
Элементы ИИ. Распознавание слов.