| |
|
|
| |
Public GLB_START_FORM As Object ' Стартовая форма
rst.Find "ID = 'Старт_Форма'", , adSearchForward, 1
Set GLB_START_FORM = rst("ZNACHENIE") ' извлекаем из таблицы имя стартовой формы
Forms(GLB_START_FORM).Show ' - тут облом (Несовпадение типов)
|
| |
| |
| |
| |
|
|
| | а ругается оно скорее всего здесь
Set GLB_START_FORM = rst("ZNACHENIE") ' извлекаем из таблицы имя стартовой формы
|
нахiба так делать вообще? :) | |
| |
| |
| |
|
|
| | А что ба можно было опциоально, в программе, изменить по желанию - имя первой запускаемой формы....
=====================
имя выбирается из предложеного списка - ограничивающего только приемлемые варианты выбора, а затем имя помещается на хранение в таблицу.
И теперь при старте приложения извлекаем стартовую форму (имя) и старт - с неё. | |
| |
| |
| |
|
|
| | ну просто глобальная переменная типа стринг :) | |
| |
| |
| |
|
|
| | может надо Form(GLB_START_FORM).Show | |
| |
| |
| |
|
|
| | пробовал и стринги - нифига кайфа нет..........
=====================================
Form(GLB_START_FORM).Show
не совпадение типов | |
| |
| |
| |
|
|
| | Чтобы был приход, надо, чтобы эта форма уже была загружена ;-) Только, конечно, не Form, а Forms.
А не может ли быть у Вас переопределения где-нибудь этой глобальной переменной? | |
| |
| |
| |
|
|
| | По слогам:
Public GLB_START_FORM As Object
|
Это какой-то глобальный объект, какой конкретно должно быть понятно из контекста.
Set GLB_START_FORM = rst("ZNACHENIE")
|
Из контекста стало казаться, что тип этого глобального объекта совпадает с типом свойства по умолчанию набора записей (если из контекста выше сделать вывод, что rst - это набор записей). А какое там свойство по умолчанию у набора записей? Поле? Нет? В общем, как-то не понятно, что за объект получили.
Следовательно ошибки можно было ожидать однозначно.
Forms(GLB_START_FORM).Show
|
А вот этот контекст предполоагает, что GLB_START_FORM вообще не объект, а строковая переменная... | |
| |
| |
| |
|
|
| | Всё верно..... 
=============================
Имя первой запускаемой формы выбирается из предложеного списка - ограничивающего только приемлемые варианты выбора имени формы. Затем выбранное таким образом имя - помещается на хранение в таблицу в поле ZNACHENIE с типом String.
И теперь при старте приложения извлекаем имя стартовой формы и отображаем её, предварительно загрузив, на экране монитора. | |
| |
| |
| |
|
|
| | Обычно формы по имени Вы как открываете? | |
| |
| |
| |
|
|
| | Обычно - вот так
Load My_Form
My_Form.show | |
| |
| |
| |
|
|
| | В таком случае, по имени открыть форму сразу не получится, кажется. Можно, конечно загрузить все формы в определённой последовательности (которая совпадает с последовательностью в списке выбора форм). А потом в зависимости от индекса выбранного элемента в списке просто показать эту форму. Так что никакой универсальности, да ещё и память сразу забивается загрузкой форм. А потом ещё и надо бы не забыть, что формы уже загружены и лишние выгружать ;-) Какая-то странная автоматизация получается. Хотя может быть я ни туда смотрел. Ваш случай похож на работу с формами в Excel, там получается только так, как я только что написал. Или поправьте меня. | |
| |
| |
| |
|
|
| | 4Hour: Как помню в VB6 при вызове св-ва show, загрузка формы производиться автоматом..ну т.е. всё норм просто .show (хотя конечно строку передаем) | |
| |
| |
| |
|
|
| | Получается надо пробежать по всем формам проекта и если какая то из них своим свойством NAME совпадает с заданной - тада её и открыть......
==========================================
А сразу чё жа никак что-ли?  | |
| |
| |