Используйте значение метки в расчетах

Можете ли вы использовать значение метки в расчетах. Например, у меня есть текстовые поля

Lbl__Text box__Total

100__5 ____ 500 долларов

50__100 __ 5000 долларов

20 долларов ___ 4 ____ 20 долларов

Поэтому, когда пользователь вводит текст в текстовое поле, он рассчитывается в сумме. Можно ли это сделать с помощью выражения или мне нужно использовать VBA?

0
0
258
2

Ответы 2

Да, не вдаваясь в причины, ПОЧЕМУ вы бы это сделали. Используйте VBA для ссылки на элемент управления

enter image description here

Вы можете ссылаться на любое значение любого элемента управления формы в доступе ms. См. Ниже и пример. Просто добавьте этот код в событие AfterUpdate вашего текстового поля, где пользователь вводит данные.

Me.tbxTotal.Caption = (Me.lblStatus.Caption * Me.tbxStatus.Caption)

Обновлено: При дальнейшем понимании проблемы разные варианты использования имеют разные сценарии. Я просто никогда не сталкивался с желанием использовать эту функциональность и всегда беру свои значения из текстовых полей.

Также поправил мой код. Показывает важность тестирования перед ответом на вопрос

Я получаю сообщение об ошибке в этой части Me.lblStatus ".Value"

user8727033 13.09.2018 20:08

Какую ошибку вы получаете и какое значение указано на этикетке?

Pants 13.09.2018 20:44

Значение равно 100, а ошибка - «Элемент или элемент данных не найден».

user8727033 13.09.2018 21:02

Если Me.lblStatus - это этикетка, используйте ее Caption вместо Value. Этикетка не имеет свойства Value.

HansUp 13.09.2018 23:16

👍👍👍. Идеально. Могу я спросить, почему мне не следует этого делать? Я использую этикетки для обозначения различных номиналов валюты. Когда пользователь вводит количество каждой валюты, оно сохраняется в таблице. Есть лучший способ добиться этого. - raziel3 1 час назад

user8727033 14.09.2018 15:37

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

Затем создайте выражения, которые будут использоваться как ControlSource для всех текстовых полей.

Таким образом, они будут:

=Val(Mid([NameOfLabel1].Caption,2))*[NameOfTextBox1]
=Val(Mid([NameOfLabel2].Caption,2))*[NameOfTextBox3]
=Val(Mid([NameOfLabel3].Caption,2))*[NameOfTextBox3]

Другие вопросы по теме