|
|
|
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 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
В том то и дело что на этотй форме есть такие переменные и все они работают нормально... нет неи одной что бы не определялась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 10:59 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
не путаешь событие open и load ? открытие происходит всегда, загрузка в диалоге не происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:03 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Я не обрабатываю событие Open . только Load возможно в adp это работает по другому? у меня adp проект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:08 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
АлексейКоткрытие происходит всегда, загрузка в диалоге не происходит Это как это не происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:12 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
лоханулся я, наоборот Public isDialog As Boolean Private Sub Form_Open(Cancel As Integer) isDialog = False End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:19 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
опять, так: Public isNoDialog As Boolean Private Sub Form_Open(Cancel As Integer) isNoDialog = true End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:22 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Т.е. по твоему Open в диалоге не происходит???? Моя твоя не понимай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:23 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Да на мой взгял, в обычном модуле делается паблик переменная типа булеан, её значенеи определит как загружена последняя форма (не важно, клон это или нет). В чём проблема-то? Переделка кода по минимуму...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:25 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Нет, я требую продолжения банкета АлексейК, может это в какой-нибудь чудо версии аксеса Open не происходит? В 97-м и ХР происходят оба как ты форму не открывай. Да и с какой бы стати им не происходить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:32 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 Лох Позорный Access XP, ADP (Возможно и в других версиях) при открытии диалога нет события open поставь точку останова и посмотри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:33 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
У тебя версия видимо глючная... у меня все события работают как в 2000 так и в ХР... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:40 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Прикол , где же истина...?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:41 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
2 АлексейК Аксес ХР, adp Код: plaintext 1. 2. 3. 4. 5. 6. В окне отладки Код: plaintext 1. 2. Где-то что-то у тебя неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:42 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
прикол .... попробую на других компах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:42 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
У меня все события отрабатывают нормально. Вне зависимости от того, как я открываю форму и что у неё в свойстве Modal прописано. Access XP (10.4302.4219) SP-2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 11:54 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
чегось сегодня я туплю, не бейте меня больно .... )) не указал [Event Procedure] ... видимо не дело в праздник работать ... попробуйте так: Public isNoDialog As Boolean Public Sub tst() DoCmd.OpenForm "Форма1", acNormal, , , , acDialog 'Без события активейт 'DoCmd.OpenForm "Форма1", acNormal' End Sub Private Sub Form_Activate() isNoDialog = False End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 12:19 |
|
||
|
doCmd.OpenForm ,,,,acDialog
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. вернет True, если вызывать открытие формы с acDialog либо устанавив тип границы в ОкнаДиалога /docmd.OpenForm "form1",,,,,acDialog или BorderStyle=3 'Dialog ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 15:23 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1677444]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
194ms |
get topic data: |
9ms |
get forum data: |
8ms |
get page messages: |
87ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 583ms |

| 0 / 0 |
