ник: AlexSyr
1. Не посчитайте меня занудой, но, очень хочется знать ПОЧЕМУ правильней так, а не по другому.
Возьмем пример: Маленький календарь, ... Автор Сергей Гаврилов http://hiprog.com/index.php?option=com_content&task=view&id=600
Данные в форму:
Календарь:
* Устанавливаем фокус на контроле с инф.
* Вызываем форму, где:
...
With Application.Screen
Set mCallingControl = .ActiveControl
End With
...
mDtmDate = mCallingControl.Value
...
Калькулятор:
* Инициируем паблик переменную значением из нужного поля
* Вызываем форму, где:
...
Me.InputFld = GloCalc.Value
...
Данные из формы:
Календарь:
* При закрытии присваиваем вызываемому контролу значение:
...
mCallingControl.Value = mAffectedDate
...
* Закрываем форму
Калькулятор:
* При закрытии присваиваем паблик переменной значение:
...
GloCalc.Value = Round(Me.InputFld, 2)
...
* Закрываем форму
* Присваиваиваем вызываемому полю значение из глобальной переменной
Где грабли? Я еще мог бы понять, что округлять нужно в вызываемой форме, а не в Калькуляторе - согласен. Дело в одной лишней строчке - это не цикл - затраты времени тьфу. Глобальная переменная продолжает хранить значение? Так все равно при следующем вызове нужно заново ей переприсваивать значение, на худой конец и обнулить можно.
2. Здесь думаю, что не придумали пока такого искусственного интеллекта, который бы лучше человека понимал как расположить форму Калькулятора, если еще и 10 кнопок-вызовов. Если с маленькой формой Календаря еще можно допустить автоматическое расположение относительно вызываемого элемента, то с большой формой Калькулятора - это уже проблематично, для того форма и сделана перемещаемой. Хотя это конечно вопрос риторический и не требующий ответа.
3. И что значит таскать и таблицу - ведь все равно в Базе есть таблицы. И чем же таблицы с настройками отличаются от других? Пусть также как и другие хранятся в отдельной базе на сервере ли или еще где. Впрочем это лично мое мнение, что не стоит городить частокол кода из-за этого.