Можете ли вы использовать значение метки в расчетах. Например, у меня есть текстовые поля
Lbl__Text box__Total
100__5 ____ 500 долларов
50__100 __ 5000 долларов
20 долларов ___ 4 ____ 20 долларов
Поэтому, когда пользователь вводит текст в текстовое поле, он рассчитывается в сумме. Можно ли это сделать с помощью выражения или мне нужно использовать VBA?
Да, не вдаваясь в причины, ПОЧЕМУ вы бы это сделали. Используйте VBA для ссылки на элемент управления
Вы можете ссылаться на любое значение любого элемента управления формы в доступе ms. См. Ниже и пример. Просто добавьте этот код в событие AfterUpdate вашего текстового поля, где пользователь вводит данные.
Me.tbxTotal.Caption = (Me.lblStatus.Caption * Me.tbxStatus.Caption)
Обновлено: При дальнейшем понимании проблемы разные варианты использования имеют разные сценарии. Я просто никогда не сталкивался с желанием использовать эту функциональность и всегда беру свои значения из текстовых полей.
Также поправил мой код. Показывает важность тестирования перед ответом на вопрос
Какую ошибку вы получаете и какое значение указано на этикетке?
Значение равно 100, а ошибка - «Элемент или элемент данных не найден».
Если Me.lblStatus
- это этикетка, используйте ее Caption
вместо Value
. Этикетка не имеет свойства Value
.
???. Идеально. Могу я спросить, почему мне не следует этого делать? Я использую этикетки для обозначения различных номиналов валюты. Когда пользователь вводит количество каждой валюты, оно сохраняется в таблице. Есть лучший способ добиться этого. - raziel3 1 час назад
Заголовок метки - это текст, поэтому первое, что нужно сделать, это преобразовать его в число, удалив знак $.
Затем создайте выражения, которые будут использоваться как ControlSource для всех текстовых полей.
Таким образом, они будут:
=Val(Mid([NameOfLabel1].Caption,2))*[NameOfTextBox1]
=Val(Mid([NameOfLabel2].Caption,2))*[NameOfTextBox3]
=Val(Mid([NameOfLabel3].Caption,2))*[NameOfTextBox3]
Я получаю сообщение об ошибке в этой части Me.lblStatus ".Value"