ввод туда куда нелья

вадя
Дата: 03.10.2005 11:52:47
есть поле вычисляемое в источнике данных (типа колво*цена)
на форме оно по уму и не должно редактироваться. и это понятно.
но хочется .
в принципе меня бы устроило чтоб при наборе в нем , на "после обновление"
акс бы выдал ошибку. я б её обработал , ну и всё путём.

только акс не дает в этом поле и набрать чего-нибудь...

может как обмануть акс?

поле под полем не хочу. и без дополнительных полей...
Владимир Саныч
Дата: 03.10.2005 11:55:25
Давай сначал ответим на такой вопрос: это должно быть физическое поле в таблице? Данные, которые туда введены, должны где-то сохраняться?
Shark
Дата: 03.10.2005 12:08:09
Ну и пусть оно будет не вычисляемое, а вычисления- в события.
Тяп-ляп
Дата: 03.10.2005 12:11:34
Форма с рекордсетом, отвязанным от данных позволит делать все, что захочешь
АлексейК
Дата: 03.10.2005 12:12:02
сумма это количество * цена

задавая другую сумму ты определяешь другую цену или другое количество?
или просто конкретное временное значение которое для распечатки документа без связи с исходными данными

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

во втором случае когда надо править сумму в отрыве от исходных данных сгодится либо временное поле, либо временная таблица, либо отвязанный рекордсет
вадя
Дата: 03.10.2005 12:15:32
2ВС
>это должно быть физическое поле в таблице? Данные, которые туда введены, должны где-то сохраняться?


нет. нет

2Shark
>Ну и пусть оно будет не вычисляемое, а вычисления- в события.

дык я не могу в нем ничего набрать..., чтоб событие обработать..

если в поле , в данных написать =ч*н, тоже не даёт вводить...
AndrewNico
Дата: 03.10.2005 12:20:38
А если, на событие GotFocus, этого поля повесить:

me.txtText.ControlSource = ""

А на LostFocus

me.txtText.ControlSource = "[Формула, для вычисления]"

?
вадя
Дата: 03.10.2005 12:24:10
2АлексейК
1)хочу вычислить цену
2) всплывающий не хочу
если только на "клавиша вниз" отвязывать рекодсет..

я тока на делал такого..
как отвязать и потом привязать?
АлексейК
Дата: 03.10.2005 12:28:04
отвязать = указать у объекта рекордсет .activeconnection = nothing
привязать указать открытое адо соединение

тока намучаешься... лучше временную табличку
Iskander68
Дата: 03.10.2005 12:34:51

Как здесь советовали, есть вариант со свободным полем.

1. У поля, которые должно быть вычисляемое/невычисляемое очисти свойство "Данные" - в
конструкторе.
2. Сделай в модуле формы функцию напр.
Private Function GetLineValue() as Currency
    GetLineValue = Me.ПолеСКоличеством* Me.ПолеСЦеной
End Function
3. Повесь на события OnCurrent формы, AfterUpdate полей Me.ПолеСКоличеством и Me.ПолеСЦеной
и каких еще захочешь код
    Me.ВычислПоле = GetLineValue
Будет нужно обработка ошибок - на предмет пустых значений, напр.
--
Regards
Alexander Artamonov


"вадя" <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:1932076@sql.ru...
2АлексейК
1)хочу вычислить цену
2) всплывающий не хочу
если только на "клавиша вниз" отвязывать рекодсет..

я тока на делал такого..
как отвязать и потом привязать?
Тема Ответить

Posted via ActualForum NNTP Server 1.3