Главная страница
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.039 c
14-58411
MasterYoda
2003-02-11 15:19
2003.08.18
Алгоритм


14-58391
Kocmoc
2003-08-04 14:47
2003.08.18
Сортировка StringGrid


14-58467
Алексей
2003-07-23 08:29
2003.08.18
Упаковка dbf таблицы


14-58491
alex2000
2003-08-04 21:25
2003.08.18
Замена символов в файлах


14-58421
reticon
2003-08-03 11:01
2003.08.18
Строительство яхты =)