|
|
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Подскажите как определить в каком режиме запущена форма: acNormal или acDialog ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 17:32 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Наверное if me.Modal = true then ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:00 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
я тоже так думал... не работает... даже проверял наличие me.maxbutton и тому подобное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:12 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Мне просто интересно знать - зачем?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:22 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Действительно не работает. Можно тогда так: on error resume next Forms![Какая-то главная форма].SetFocus if err.number <> 0 then ... on error goto 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:25 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Все очень просто... форма универсальна и вызывается во многих местах иногда и с дупликацией, но есть вызовы именно как диалоговое. Мне не хочется передавать еще один параметр режима, т.к. придется следить что бы все вызовы были идиентичны и не будет универсальности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:26 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Спасибо Geo Это действительно хорошая идея ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:30 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 elephant_work А я бы передавал в процедуру открытия этой формы (процедура должна быть наверное, раз из многих мест вызывается) Optional параметр (значение из глобальной переменной) - потом бы анализировал это значение. Единственный минус - возникнет ошибка и значение обнулится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:34 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 Hummer спасибо... это не годиться... сильно много менять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:37 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 elephant_work Не много совершенно (может даже и меньше, чем у Гео - работать будет быстрее, чем проверка на ошибку при передачи фокуса форме - причем не абы какой, а которая должна быть загружена к тому же:) ), если есть процедура открытия этой формы - если таковой нет, то не годится конечно же:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:40 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 Hummer Как раз главная форма есть и всегда загруженна... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 18:47 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
А вот прикол что при модальной форме команда Forms![другая форма].setFocus ошибки не дает... и проблема осталась ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 20:21 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Предлагаю идиотское решение. Величина Me.WindowWidth - Me.InsideWidth у меня получилась: если форма открыта как диалог, то 90, а иначе 180... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 20:40 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
А мое решение не такое и идиотское. Даже если в настройках Виндов поиграть с толщиной рамки окна, то все равно первое остается всегда ровно 90, а второе 180 или больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 20:54 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Я, Geo, перед лицом своих товарищей торжественно клянусь... Никогда не приводить примеров, которые перед этим не попробовал сам.. И не приводить примеров, которые сам не попробовал.. И вообще никого никуда не приводить. А Хаммер предложил отличный вариант. Вот. А я пойду еще выпью. Эх, дарроги... --- Зы... Я ж эта, пошутил же я. если я перестану писать непровереные мною вещи, то мне писать будет нечего же... :( Эх, дарроги :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2003, 23:35 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 Нammer 2 Geo кривоватенько это - на ошибке проверять... Наш учитель Гетц - О-оччень конкретно прошелся по этой теме в одной из своих публикаций... сожалею, но не вспомню сейчас источник... я просто сделал себе наколку - "не забуду - это криво" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 00:16 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
кривоватенько это - на ошибке проверять... Фуйню вы сказали, деликатно уважаемый кхе В отлове ошибки нет ничего предрассудительного. Классический случай - определить, содержит ли коллекция нужный элемент Это так... не в тему, зато спьяну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 02:11 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 кхе-кхе (деликатно) Да.... А как же конструкция Try Catch - фактически отлов ошибки получается..... А цитатку бы привели:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 09:11 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 Geo я ничего не имею против твоего решения, но есть видимо отличие в наших проверках. Моя форма изначально не модальная и ее свойства Modal = false . и когда я ее открываю по команде DoCmd.OpenForm "frmCategories", , , , , acDialog то я с нее могу получить доступ к другим формам программно и без всяких ошибок и что самое интересное когда проходит команда Forms("MainPMC").SetFocus то в Screen.ActiveForm как раз находится форма MainPMC . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 10:19 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
можно в форме завести скрытый контрол или публичную переменную которую назначать по событию загрузка. при открытии формы в режиме диалога этого события не происходит и это свойство останется неинициализированным )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 10:25 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
тоже не подходит... все грузится и потом эта форма может быть загружена несколько раз как клон. соответственно публичная переменная не годится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 10:35 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
В общем я выкрутился другим способом. На моей форме нет рекодсета и поэтому свойство Me.AllowEdits осталось невостребованным. Если на форме оно true изначально тоо при открытии формы по DoCmd.OpenForm "frmCategories", , , , acFormReadOnly , acDialog это свойство меняет статус на false . минимальные изменения кода, но все равно мне не нравиться. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 10:44 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
я говорил про публичную переменную уровня модуля формы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 10:49 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 elephant_work Через публичную переменную будет в самый раз - мне кажется, трудно придумать лучший способо, хотя варианты есть всегда:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 10:52 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32362481&tid=1677444]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 436ms |

| 0 / 0 |
