powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / doCmd.OpenForm ,,,,acDialog
25 сообщений из 42, страница 1 из 2
doCmd.OpenForm ,,,,acDialog
    #32362414
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как определить в каком режиме запущена форма: acNormal или acDialog ?
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362452
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное
if me.Modal = true then
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362462
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я тоже так думал... не работает... даже проверял наличие me.maxbutton и тому подобное...
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362474
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне просто интересно знать - зачем?:)
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362478
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно не работает. Можно тогда так:

on error resume next
Forms![Какая-то главная форма].SetFocus
if err.number <> 0 then ...
on error goto 0
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362481
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все очень просто... форма универсальна и вызывается во многих местах иногда и с дупликацией, но есть вызовы именно как диалоговое. Мне не хочется передавать еще один параметр режима, т.к. придется следить что бы все вызовы были идиентичны и не будет универсальности.
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362488
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Geo
Это действительно хорошая идея
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362490
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 elephant_work
А я бы передавал в процедуру открытия этой формы (процедура должна быть наверное, раз из многих мест вызывается) Optional параметр (значение из глобальной переменной) - потом бы анализировал это значение. Единственный минус - возникнет ошибка и значение обнулится...
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362494
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Hummer
спасибо... это не годиться... сильно много менять...
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362497
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 elephant_work
Не много совершенно (может даже и меньше, чем у Гео - работать будет быстрее, чем проверка на ошибку при передачи фокуса форме - причем не абы какой, а которая должна быть загружена к тому же:) ), если есть процедура открытия этой формы - если таковой нет, то не годится конечно же:)
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362506
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Hummer
Как раз главная форма есть и всегда загруженна...
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362573
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот прикол что при модальной форме команда Forms![другая форма].setFocus ошибки не дает... и проблема осталась
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362581
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Предлагаю идиотское решение. Величина

Me.WindowWidth - Me.InsideWidth

у меня получилась: если форма открыта как диалог, то 90, а иначе 180...
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362588
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А мое решение не такое и идиотское. Даже если в настройках Виндов поиграть с толщиной рамки окна, то все равно первое остается всегда ровно 90, а второе 180 или больше.
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362606
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, Geo, перед лицом своих товарищей торжественно клянусь...

Никогда не приводить примеров, которые перед этим не попробовал сам..

И не приводить примеров, которые сам не попробовал..

И вообще никого никуда не приводить.

А Хаммер предложил отличный вариант.

Вот.

А я пойду еще выпью.

Эх, дарроги...

---

Зы...

Я ж эта, пошутил же я. если я перестану писать непровереные мною вещи, то мне писать будет нечего же... :(

Эх, дарроги :))
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362612
2 Нammer
2 Geo

кривоватенько это - на ошибке проверять... Наш учитель Гетц - О-оччень конкретно прошелся по этой теме в одной из своих публикаций...

сожалею, но не вспомню сейчас источник...

я просто сделал себе наколку - "не забуду - это криво"
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362621
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кривоватенько это - на ошибке проверять...
Фуйню вы сказали, деликатно уважаемый кхе
В отлове ошибки нет ничего предрассудительного.
Классический случай - определить, содержит ли коллекция нужный элемент
Это так... не в тему, зато спьяну.
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362713
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 кхе-кхе (деликатно)
Да.... А как же конструкция Try Catch - фактически отлов ошибки получается..... А цитатку бы привели:)
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362779
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Geo
я ничего не имею против твоего решения, но есть видимо отличие в наших проверках. Моя форма изначально не модальная и ее свойства Modal = false . и когда я ее открываю по команде DoCmd.OpenForm "frmCategories", , , , , acDialog то я с нее могу получить доступ к другим формам программно и без всяких ошибок и что самое интересное когда проходит команда Forms("MainPMC").SetFocus то в Screen.ActiveForm как раз находится форма MainPMC .
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362783
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно в форме завести скрытый контрол или публичную переменную которую назначать по событию загрузка.

при открытии формы в режиме диалога этого события не происходит и это свойство останется неинициализированным ))
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362801
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тоже не подходит... все грузится и потом эта форма может быть загружена несколько раз как клон. соответственно публичная переменная не годится
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362816
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем я выкрутился другим способом. На моей форме нет рекодсета и поэтому свойство Me.AllowEdits осталось невостребованным. Если на форме оно true изначально тоо при открытии формы по DoCmd.OpenForm "frmCategories", , , , acFormReadOnly , acDialog это свойство меняет статус на false . минимальные изменения кода, но все равно мне не нравиться. :-(
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362825
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я говорил про публичную переменную уровня модуля формы
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362833
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 elephant_work
Через публичную переменную будет в самый раз - мне кажется, трудно придумать лучший способо, хотя варианты есть всегда:)
...
Рейтинг: 0 / 0
doCmd.OpenForm ,,,,acDialog
    #32362847
elephant_work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том то и дело что на этотй форме есть такие переменные и все они работают нормально... нет неи одной что бы не определялась.
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / doCmd.OpenForm ,,,,acDialog
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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