powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как открыть дочернее окно и возвратить из него чего либо?
4 сообщений из 4, страница 1 из 1
Как открыть дочернее окно и возвратить из него чего либо?
    #32452090
Фотография La_Sania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, всезнающий Народ!

Опять возник у меня вопрос, а в книжках ответа на него я найти не смог.

У меня есть форма в Аксессе. Мне нужно что-бы при каком-то событии (нажатии на кнопку) открывалось новое окошко. В этом окошке - куча чекбоксов, котрые можно почекать. После закрытия дочерней формы, я хочу возвратить информацию о выделенных чекбоксах обратно в родительскую форму. Для возвращения подойдет простой булевый массив. Пока открыта дочерняя форма, родительская не должна ни на что реагировать.

Так вот вопросы:
-Как открыть новую форму из уже существующей?
-Как ее закрыть (у меня "unload me" работать отказывается - run time error 361 can't load or unload this object)?
-Как возвратить массив из формы, если такое возможно?
-Не лучше ли для хранения значений использовать глобальный массив?

Спасибо,
Саня.
ЗЫ Надеюсь, я тоже когда-нибудь смогу отвечать на вопросы в этом форуме...
...
Рейтинг: 0 / 0
Как открыть дочернее окно и возвратить из него чего либо?
    #32452143
Nektov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Допустим, имя формы frmA, тогда ты говоришь
Код: plaintext
frmA.show

2. Ее можно не закрыить, а спрятать:
Код: plaintext
frmA.hide

3. Попромуй напрямую, если форма открыта для чекбокса Chk1:
Код: plaintext
1.
2.
3.
if frmA.Chk1.value =  1  then
    msgbox 'БЛА БЛА БЛА"
endif

или если нужно массивом, то можно просто переменные объявить как Public в отдельном модуле, а в дочерней форме просто присвоить значения этим переменным по определенному событию, например FrmA_Unload.
Глобальные переменные нужно объявлять в отдельном модуле вот так:
Код: plaintext
public a as Integer

а в коде события просто пишешь a

Вот. Это направления, в которых можно искать, более подробно можно посмотреть в хелпе.
Удачи.
...
Рейтинг: 0 / 0
Как открыть дочернее окно и возвратить из него чего либо?
    #32452227
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Как открыть новую форму из уже существующей?
docmd.openform "Myform2"

-Как ее закрыть (у меня "unload me" работать отказывается - run time error 361 can't load or unload this object)?
Кого ее ?...первую или вторую ?
Если первую, то можно - MyForm1.Visible = False

-Как возвратить массив из формы, если такое возможно?
На закрытие второй формы повесить:
With Forms!Myform1
chk1 = !chk1
chk2 = !chk2
...
chkN = !chkN
End With

-Не лучше ли для хранения значений использовать глобальный массив?
см.пункт выше...

ИТОГИ:

Открытие второй формы из первой:
Docmd.OpenForm "MyForm2"
Forms!MyForm2.Modal = True ' Пока открыта дочерняя форма, родительская не должна ни на что реагировать.

Закрытие второй формы:
With Forms!Myform1
!chk1 = chk1
!chk2 = chk2
...
!chkN = chkN
.Visible = True
End With
...
Рейтинг: 0 / 0
Как открыть дочернее окно и возвратить из него чего либо?
    #32453969
Фотография La_Sania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое,

В основном все понятно.

Когда попробую ваши советы, напишу результаты (я не каждый день на работе бываю).


Спасибо,
Саня
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как открыть дочернее окно и возвратить из него чего либо?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]