#forms #ms-access #textbox #vba
#формы #ms-access #текстовое поле #vba
Вопрос:
Я пытаюсь выяснить, как принять значение, введенное Form1
пользователем, а затем принять это значение и превратить его в метку Form2
. Так, например, если пользователь вводит «Apple» в Textbox1
in Form1
, как бы мне захватить это значение и ввести его в Label1
in Form2
.
Я знаю, что код для изменения метки
Private Sub Command56_Click()
Label1.Caption = "Something else"
End Sub
но я не уверен, как получить введенное пользователем значение из другой формы.
Комментарии:
1. Вы проверили, как ссылаться на элементы управления другой формы?
2. открываются ли обе формы одновременно, когда вы хотите это сделать? Что-то вроде
Forms("Form2").Label1.Caption=Forms("Form1").Textbox1.value
должно работать, если оба открыты.3. @fbueckert я написал несколько таких запросов… но я действительно просто следовал шаблону и не узнал, как и почему он работает
INSERT INTO Person_Name VALUES (Forms![Person_Name]![Person_Name_ID], Forms![Person_Name]![Prefix], Forms![Person_Name]![First_Name], Forms![Person_Name]![Middle_Name], Forms![Person_Name]![Last_Name], Forms![Person_Name]![Suffix], Forms![Person_Name]![Timestamp]);
4. Это ошибка? Работает ли это? У нас мало информации о том, что вы пробовали, и работает ли это или нет.
Ответ №1:
Это может быть:
Private Sub Command56_Click()
Label1.Caption = Nz(Forms("Form1").Textbox1.Value)
End Sub
Nz предотвращает ошибку, если текстовое поле 1 должно быть пустым (Null).
Комментарии:
1. Идеальный вариант. Я бы добавил, что это будет работать, только если обе формы (та, которая содержит кнопку
Command56_Click
иForm1
) открыты одновременно. ЕслиForm1
не загружено, оно не будет работать.2. Форма будет открыта одновременно, так что это сработает!