Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» SDAC и Delphi7

Автор: ak4
Дата сообщения: 17.12.2006 06:27
Добрый день форумяне!

У меня SDAC380 и Delphi7.

Добавляю запись -MSQuery2.append.
А потом должна сработать процедура выхода из поля DBNumberEditEh4Exit.
Но процедура работает с ошибкой :- (.

if not(F_Main.DS_MSQuery2.State in [dsEdit,dsInsert]) then F_Main.DS_MSQuery2.Edit;
MSQuery2.FieldByName('PRIXRUBL').AsFloat:=MSQuery2.FieldByName('KOL').asInteger*MSQuery2.FieldByName('PRIce').asFloat;

Когда меняю колич-во прихода MSQuery2.FieldByName('KOL'). через DBNumberEditEh4, и через "Tab" перехожу в другое поле, то сумма прихода становится равным
Цена*(количество до изменения ).
Т.е например цена 100рублей , а колич-во было 2 , я меняю колич.прихода на 3,то
MSQuery2.FieldByName('PRIXRUBL').AsFloat=200.
а если я меняю колич-во на 4, то
MSQuery2.FieldByName('PRIXRUBL').AsFloat=300.Т.е как бы "запоздание" ...
как бы это устранить? Это ошибка SDAC?
Автор: afiget
Дата сообщения: 18.12.2006 12:10
У меня было похожее с cxGrid, там нужно было после проверки корректности значения сделать PostEditValue - сохранить измененное значение.
Поищи похожее у твоего грида. SDAC, имхо, не виновен :)
Автор: oan42
Дата сообщения: 19.12.2006 11:14
В процедуре DBNumberEditEh4Exit (или OnChange) не всегда можно использовать FieldByName для изменившегося поля, значение поля устанавливается не к этому моменту.
Используйте dbedit.value (и т.п) либо смените фокус и верните его обратно.
Такое поведение DBEdit будет для любого Dataset (SDAC не при чем).
Автор: ak4
Дата сообщения: 22.03.2007 04:17
окей,
если вернуть фокус обратно ,то все окей

Страницы: 1

Предыдущая тема: ActiveX контрол для чтения документов MS Word


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.