Главная страница
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.005 c
14-58447
Egloo
2003-08-02 08:35
2003.08.18
Сортировка WideString-списка...


14-58429
VID
2003-08-02 17:02
2003.08.18
Ограничение в 65536 символов в RichEdit


14-58402
Zheks
2003-08-04 10:57
2003.08.18
Мастера, продайте талант, расскажите как распечатать StringGrid.


14-58462
Spawn
2003-07-24 09:32
2003.08.18
Удаление ограничительных полей


14-58380
maxic
2003-08-06 11:44
2003.08.18
Панель