7 / 4 / 3
Регистрация: 13.08.2013
Сообщений: 80
1

Как записать в новую форму в текстовое поле значение из другой формы?

19.03.2016, 23:46. Показов 1138. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Есть форма, из которой я запускаю другую, на которой есть текстовое поле. В текстовое поле я хочу занести некий текст (результаты проверки).

Я пишу:
Visual Basic
1
2
    DoCmd.OpenForm "Проверка ошибок"
    [Form_Проверка ошибок].txtProverka_Result.Value = Proverka_00_General(ProverkaResult)
Т.е. я хоу выполнить в функции Proverka_00_General некоторую проверку и занести результат в текстов в поле txtProverka_Result... но не работает....Форма открывается, но результатов проверки в поле нет.
Почему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2016, 23:46
Ответы с готовыми решениями:

Как вставить элемент формы выпадающий список и текстовое поле в форму?
Здравствуйте,форумчане! У меня есть программа,которую мне надо не много модифицировать.В данной...

Как в поле со списком добавить значение из другой формы (+фильтр)?
Доброго времени суток форумчане. В общем такая задача. Есть форма расходов в котором несколько...

как можно заполнить текстовое поле в другой форме?
как можно заполнить текстовое поле в другой форме, точнее в форме с номером st.. пробовал так,...

Как вставить текст в текстовое поле другой программы
Как вставить текст в текстовое поле другой программы?

6
Эксперт MS Access
26805 / 14484 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
20.03.2016, 00:15 2
Любая открытая форма член коллекции Forms и обращаться к любому свойству автономной формы, включая поля, можно только через Forms
Visual Basic
1
Forms![Проверка ошибок]!txtProverka_Result = Proverka_00_General(ProverkaResult)
И еще. Символ точка указывает на системное свойство, все остальные пользовательские свойства, опять-таки включая поля, отделяются символом восклицательного знака. Одно исключение это члены коллекции Me в котором как системные так и пользовательские свойства и методы могут адресоваться через точку
0
7 / 4 / 3
Регистрация: 13.08.2013
Сообщений: 80
20.03.2016, 11:44  [ТС] 3
Здравствуйте!
При написании Вашего кода:
Visual Basic
1
2
3
4
5
Private Sub cmdProverka_00_General_Click()
Dim ProverkaResult As String
    DoCmd.OpenForm "Проверка ошибок"
    Forms![Проверка ошибок]!txtProverka_Result = Proverka_00_General(ProverkaResult)
End Sub
Ошибок Access не выдает, но и результаты проверки в тектосвом поле не появляются! Хотя в переменной ProverkaResult содержатся результаты проверки Вижу по окну Watch).
Сама процедура Private Sub cmdProverka_00_General_Click вызывается в результате щелчка по кнопке, которая расположена на другой (главной) форме (может это важно???)
0
шапоклякистка 8-го дня
3678 / 2238 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
20.03.2016, 11:58 4
Цитата Сообщение от litvinj Посмотреть сообщение
Private Sub
Sub не возвращает значений. Если вы хотите возвращать результат, описывайте не Sub, а Function.

Добавлено через 2 минуты
Цитата Сообщение от litvinj Посмотреть сообщение
Хотя в переменной ProverkaResult содержатся
А если результат не возвращается процедурой, а содержится именно в переменной, то пишется так:

Visual Basic
1
2
3
4
5
6
Private Sub cmdProverka_00_General_Click()
Dim ProverkaResult As String
    DoCmd.OpenForm "Проверка ошибок"
    Proverka_00_General ProverkaResult ' или Call Proverka_00_General(ProverkaResult) 
    Forms![Проверка ошибок]!txtProverka_Result = ProverkaResult
End Sub
0
7 / 4 / 3
Регистрация: 13.08.2013
Сообщений: 80
20.03.2016, 12:07  [ТС] 5
По-моему вы не поняли.
Значение переменной ProverkaResult возвращается функцией Proverka_00_General(), описанной в одном из модулей:
Function Proverka_00_General(ProverkaResult As String)

Добавлено через 3 минуты
Ваш последний вариант:
Visual Basic
1
2
3
4
5
6
Private Sub cmdProverka_00_General_Click()
Dim ProverkaResult As String
    DoCmd.OpenForm "Проверка ошибок"
    Proverka_00_General ProverkaResult ' или Call Proverka_00_General(ProverkaResult) 
    Forms![Проверка ошибок]!txtProverka_Result = ProverkaResult
End Sub
Заработал, после переименования Proverka_00_General из функции в процедуру....Спасибо!
Аааааа! Я вспомнил почему функция не работала.....результат выполнения функции содержится в названии функции (как в переменной), а не в в ProverkaResult! Вот почему не работало!
Еще раз Спасибо!
0
шапоклякистка 8-го дня
3678 / 2238 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
20.03.2016, 12:11 6
Ну слава богу ))
0
Эксперт MS Access
26805 / 14484 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
20.03.2016, 12:13 7
texnik-san, у него другая бяка: ТС не присвоил результат вычисления идентификатору функции. Вот и получает пустоту
0
20.03.2016, 12:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2016, 12:13
Помогаю со студенческими работами здесь

Как в поле ID одной таблицы записать значение поля ID другой таблицы
В БД две таблицы: 1)USERS с полями ID_User, Name, Password. В нее записываются пользователи...

Как поместить значение запроса в текстовое поле?
Здравствуйте! Подскажите, пожалуйста, как можно программно поместить значение запроса в текстовое...

Как обновить часть страницы(текстовое поле формы), выбрав элемент из списка?
Собственно есть список, вот: <div class="lineForm"> <select ...

Как сделать поле ввода пароля не через новую форму?
Есть форма, в которой нужно добавить разделение на пользователя и администратора. Чтобы при клике...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru