![]() |
|
Модераторы: Akina |
![]()
|
|
| Ane4ka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.10.2007 Репутация: нет Всего: нет |
Сново рад приветствовать вас. Я столкнулся с очередной проблеймой :( и сново прошу помощи.
У меня есть две формы на каждой из которых есть поле(Edit) - номер путевого листа. Сначала предлогается заполнить форму (AddL) где одним из полей является номер листа, затем по нажатию на кнопу (Кнопка1) происходит переход на вторую форму (List1, где есть такое же поле Edit). Как сделать чтобы при переходе на 2-ю форму в поле (Edit) вводился тот-же номер что мы ввели на 1-й форме? Надеюсь вопрос сформулирован понятно.... Большое спасибо за любую помосчь |
|||
|
||||
| bopoha |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
На форму можно передать данные разными способами:
1. Атрибут OpenArgs. Этот параметр строковый. Если сформировать строку в специальном формате, то можно передать и больше параметров. При открытии формы:
На открывающейся форме (на событии открытия или загрузки):
2. Инициализировать поле в открывающей форме:
2.1 или обявить в форме myforma2 функцию, которая и выполнит присваивание полю значения
3. Тоже самое, что и п.2, но уже в открываемой форме (на событии открытия или загрузки):
4. Использовать процедуру и п.1-3. Более сопровождаемый вариант.
ЗЫ: 4. пункт мне больше нравится, в последующем пишется меньше кода. Так же он компилируем - изменяем количество параметров, компилируем и находим все места, которые необходимо подправить. Также легко использовать функцию в меню. |
||||||||||||
|
|||||||||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Есть еще вариант - использовать не две формы, а одну. По нажатию кнопки перехода на шаг 2 просто скрываем ненужные контролы, показываем нужные, перемещаем те, что должны остаться... тогда и передавать ничего не нужно.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Ane4ka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.10.2007 Репутация: нет Всего: нет |
Пробывала разные варианты но каждый раз выдаётк следуюсчую ошибку:
Type mismatch Вот пример вставляемого кода: Private Sub Form_Open(Cancel As Integer) Dim frm As Form_List1 Set frm = Forms("Addl") Me.nListNum1 = frm.nListNum End Sub Где, List1 - Имя формы на котой находится поле (nListNum, с которого собственно и берётся значение); Addl - Имя формы на которой расположено поле (nListNum1, в которое должно занестись значение из nListNum); Событие назначено на открытие формы Addl |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
А в какой именно строке выдает, секрет? Вероятно, в строке потому как должно быть
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Ane4ka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.10.2007 Репутация: нет Всего: нет |
Гм...
Теперь стало ругаться на эту строчку :( : Me.nListNum1 = frm.nListNum Говорит следуесчее Run time error '-2147352564 (80020009) Невозможно присвоить значение объекту Вот |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
по всей видимости... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Ane4ka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.10.2007 Репутация: нет Всего: нет |
Час от часу не легче... :'(
Теперь это: Run Time error '2185': Невозможно обратиться к свойству или методуэлемента управления, пока на этот элемент не установлен фокус ввода. ------------------------------------------------ И ругаетсчя вот на эту строчку: Me.nListNum1.Text = frm.Controls("nListNum").Text |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
ну так и сделай предварительно
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Или
-------------------- (С) kapbepucm |
|||
|
||||
| Ane4ka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.10.2007 Репутация: нет Всего: нет |
И в одном и во втором случае выскакивает всё та же ошибка....
|
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Где код выполняется, в событии OnOpen?
-------------------- (С) kapbepucm |
|||
|
||||
| Ane4ka |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.10.2007 Репутация: нет Всего: нет |
Да.
Если изменить на вот это:
Ошибка пропадает, но ничего не происходит Это сообщение отредактировал(а) Ane4ka - 16.10.2007, 14:19 |
||||
|
|||||
| kapbepucm |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Похоже на то, что строки
Пробуй открывать эту форму из OnClick "Кнопка1" и там обращатся. Например:
Это сообщение отредактировал(а) kapbepucm - 16.10.2007, 14:34 -------------------- (С) kapbepucm |
||||
|
|||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
В Private Sub Form_Open это в принципе работать не может и, соответственно, не будет. Форма еще не загружена, присвоение невозможно.
Вообще-то так и делают:
Конечно, OnOpen - это событие, а имя обрабатывающей его процедуры Form_Open -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |