Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
ВнизКак внести рассчитанное значение?... Найти похожие ветки
← →
Владий (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c