Вычисляемые значения в формах

dravig
Дата: 03.12.2006 12:51:24
Народ..., мне нужно чтобы в одном из текстбоксов формы отображалось значение, вычисляемое с помощью предыдущей записи в таблице. Кто знает, подскажите как это сделать...
rok
Дата: 03.12.2006 13:10:02
Записать значение поля из последней записи в переменную и использовать её для вычислений.А с другой стороны если это нарастающий итог,то он и без всяких заморочек будет вычислятся
dravig
Дата: 03.12.2006 13:14:03
а формулу для вычисления надо прописывать в окне построения выражений или в программе?
mds_world
Дата: 03.12.2006 13:55:49
dravig
Народ..., мне нужно чтобы в одном из текстбоксов формы отображалось значение, вычисляемое с помощью предыдущей записи в таблице. Кто знает, подскажите как это сделать...
Не допускаете, что вы, или другой юзер, может изменить сортировку? На что тогда будете ссылаться?
А вообще, если уж так нужно, применяйте DoCmd.GotoRecord с параметрами acPrevious - прыдущая запись и acNext - последующая запись.


rok
Записать значение поля из последней записи в переменную и использовать её для вычислений
А если он встанет на нужную запись не из предыдущей?. Ваш метод можно использовать только при создании новой записи, в других случаях может быть ошибка.


rok
А с другой стороны если это нарастающий итог,то он и без всяких заморочек будет вычислятся
В отчетах без заморочек. А в формах, что-то делать надо.
mds_world
Дата: 03.12.2006 14:05:01
dravig
а формулу для вычисления надо прописывать в окне построения выражений или в программе?
Формуды для вычислений в формах лучше всего прописывать в процедурах соответствующих событий формы. Вы пишете:
автор
нужно чтобы в одном из текстбоксов формы отображалось значение, вычисляемое с помощью предыдущей записи в таблице
Допустим, что такое вам нужно для любой новой записи. Тогда имеет смысл записать назначения в событии Текущая запись. Проверяете, новая ли это запись и делаете нужные присвоения. Проверка на новую запись - свойство NewRecord формы.
dravig
Дата: 03.12.2006 14:47:14
у меня все равно что-то не идет...
а можете написать текст процедуры, считающей значение в текстбоксе, как сумму текущего и предыдущего?
rok
Дата: 03.12.2006 14:52:42
mds_world
Не допускаете, что вы, или другой юзер, может изменить сортировку? На что тогда будете ссылаться?
Постараюсь пояснить:пускать пользователей к таблицам-привести БД в нерабочее состояние-нечего пользователю делать в таблицах плюс сортировка при просмотре не влияет на порядок записей в таблице-можете проверить-это ответ на вопрос о сортировке.
mds_world
В отчетах без заморочек. А в формах, что-то делать надо.

А почему и что надо делать в формах ?
mds_world
А если он встанет на нужную запись не из предыдущей?. Ваш метод можно использовать только при создании новой записи, в других случаях может быть ошибка.
Бог ты мой ну не последней,а конкретной, хотя и не понятно зачем использовать в вычислениях устаревшие данные.
Если возможно поконкретней задачу-может лучше для вычислений выбирать какой-то коэффициент из списка, на базе таблицы .
mds_world
Дата: 03.12.2006 15:09:01
rok
А почему и что надо делать в формах ?
Посмотрите внимательно первый пост автора. Речь именно о форме.


rok
mds_world
Не допускаете, что вы, или другой юзер, может изменить сортировку? На что тогда будете ссылаться?
Постараюсь пояснить:пускать пользователей к таблицам-привести БД в нерабочее состояние-нечего пользователю делать в таблицах плюс сортировка при просмотре не влияет на порядок записей в таблице-можете проверить-это ответ на вопрос о сортировке.
Во-первых - и в форме возможна сортировка. Во-вторых - порядок записей в формах это нечто виртуальное и зависит от текущей сортировки. Естесственный порядок врядли будет поддерживаться. Отсюда и использование методов GoToRecord зависит от сортировки.

Последнее ваше замечание я нечетко понял. Разъясните.
rok
Дата: 03.12.2006 15:52:43
Работа с формой это в принципе работа с таблицей-что здесь не так?
Насчет последнего согласен-лучше предыдущая запись, чем то что я предложил.