Сразу скажу, что в Access я ни бум-бум!
Кое-как, с грехом пополам состряпала маленькую программульку, теперь мне её надо чуток поправить, а у меня не получается
Помогите, плис!! буду ооочень благодарна
Суть в следующем.
У меня есть таблица1, состоящая из 2-х полей: ФИО и сумма
Есть форма с тремя элементами:
- ПолеСоСписком, в которое выводятся значения Таблица1.ФИО,
- второе поле, в которое я ввожу любое число, и
- поле - результат умножения Таблица1.сумма на число, введенное во втором поле
Я написала маленькую процедуру, которая вызывается при изменении в ПолеСоСписком0.
Private Sub func()
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("select * from Таблица1 where fio = '" & ПолеСоСписком0.Text & "'")
Поле4.Value = rst!sum1 * Поле2.Value
End Sub
Вроде всё работает. Я ввожу число во втором поле, выбираю в ПолеСоСписком какую-то запись, в третьем поле всё умножается
Теперь мне нужно сделать так, чтобы и при изменении во втором поле у меня так же пересчитывалось третье.
Я стала вызывать эту процедурку при изменении во втором поле
Private Sub Поле2_Change()
func
End Sub
Но у меня стала выходить ошибка: Run-time error '2185'
невозможно обратиться к свойству или методу элемента управления, пока на этот элемент не установлен фокус ввода
и указатель ошибки встает на строку
Set rst = CurrentDb.OpenRecordset("select * from Таблица1 where fio = '" & ПолеСоСписком0.Text & "'")
Подскажите, плис, в чем ошибка и как её исправить!!
Access. Обновление поля формы
Модератор: Naeel Maqsudov
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
А не пробовали ввести в третье поле выражение и вообще отказаться от VBA?.
Что-то вроде
=[Список1]*[Поле2]
При этом список надо построить по двум столбцам, ширину второго столбца указать 0, а в качестве связанного столбца указать второй.
Что-то вроде
=[Список1]*[Поле2]
При этом список надо построить по двум столбцам, ширину второго столбца указать 0, а в качестве связанного столбца указать второй.
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте 40a.
Ошибка: "... = '" & ПолеСоСписком0.Text & "'" ...",
у формы MS Access нельзя "прочесть" свойство .Text контрола на который не установлен Фокус ввооа.
Избавиться от ошибки можно "укоротив" строку " "... = '" & ПолеСоСписком0 & "'" ..."
Но если не планируется применять форму для добавления и редактирования записей таблицы, совет который дал Naeel Maqsudov - лучшее решение Вашей задачи.
Евгений.
Ошибка: "... = '" & ПолеСоСписком0.Text & "'" ...",
у формы MS Access нельзя "прочесть" свойство .Text контрола на который не установлен Фокус ввооа.
Избавиться от ошибки можно "укоротив" строку " "... = '" & ПолеСоСписком0 & "'" ..."
Но если не планируется применять форму для добавления и редактирования записей таблицы, совет который дал Naeel Maqsudov - лучшее решение Вашей задачи.
Евгений.
Naeel Maqsudov
Teslenko_EA
Спасибо вам огромнейшее!
Я сделала список из двух полей и прописала в поле выражение. Получилось куда проще, чем мой первый способ через select!
Teslenko_EA
Спасибо вам огромнейшее!
Я сделала список из двух полей и прописала в поле выражение. Получилось куда проще, чем мой первый способ через select!
