Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Три совершенно одинаковые формы, с одним и тем же кодом...
 
 автор: Скорп   (05.10.2008 в 14:16)   личное сообщение
78 Кб.
 
 

подскажите, можно ли использовать одну форму
различия только в цвете фона и на каждой форме есть надпись со своим названием Обложка, Блок, Вставка
(жипег прикрепил)...

п.с. или оставить как есть и не париться?

  Ответить  
 
 автор: Lukas   (05.10.2008 в 14:18)   личное сообщение
 
 

Можно, если передавать, например, OpenArgs форме при вызове и обрабатывать его на Form_Open.

  Ответить  
 
 автор: Скорп   (05.10.2008 в 14:32)   личное сообщение
 
 

так-с...
а если с самого начала все...
что меня интересует:
1 - как в стороннюю форму вставить 3 формы, чтобы они стояли как на рисунке у меня?
они не подчиненные, каждая сама по себе проводит вычисления


алгоритм правильный?
- нужно взять форму Ф1
- сделать 2копии формы Ф1 - Ф2 и Ф3 (каждая открывается со своими арнументами
- и фсе три формы вставить в общую

вообще это сложно для меня будет? ( ну с учетом моих не глубоких познаний..)

  Ответить  
 
 автор: Lukas   (05.10.2008 в 14:38)   личное сообщение
 
 

Нужно будет создать три экземпляра класса формы Ф1.
Вставить их на форму-подложку? Не пробовал.

  Ответить  
 
 автор: Скорп   (05.10.2008 в 14:41)   личное сообщение
 
 

угу...
все три должны быть видны одновременно

  Ответить  
 
 автор: Lukas   (05.10.2008 в 14:45)   личное сообщение
 
 

А зачем?

  Ответить  
 
 автор: Скорп   (05.10.2008 в 14:55)   личное сообщение
 
 

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

  Ответить  
 
 автор: Lukas   (05.10.2008 в 15:13)   личное сообщение
70 Кб.
 
 

Предлагаю такое решение.
Вариант1:
Поскольку, как я думаю, расчет трех составляющих имеет разные алгоритмы, использовать три специализированные формы.
На основной форме три кнопки, которые вызывают формы-калькуляторы, поля, куда формы будут возвращать расчитанные значения. На основной форме значения суммируются.
Вариант2:
На основной форме поля для ввода данных обложки и блока, если обложка и блок присутствуют вместе постоянно, и не могут существовать отдельно. Кнопка для вызова формы-калькулятора вставок (Их ведь может быть и несколько). Функция расчета стоимости во внешнем модуле.

Прицепил рисунок-пример для второго варианта

  Ответить  
 
 автор: Lukas   (05.10.2008 в 15:41)   личное сообщение
60 Кб.
 
 

Детали расчета можно посмотреть в отдельной форме, например как на рисунке:

  Ответить  
 
 автор: Скорп   (05.10.2008 в 15:56)   личное сообщение
 
 

вариант1 - алгоритмы одинаковые...
все одинаковое, поэтому и создал темку
а три специализированные формы и так сейчас есть
раньше так и было, формы вызывались последовательно, терялась наглядность заказа
поэтому и собрал все 3 составляющие в кучу

вариант 2 не подойдет
в видимой части и так куча элементов, в невидимой еще штук 25 полей...сажать на одну форму - это куча полей переименовывать и код перепрописывать...
а случись поменят код - снова все сначала

  Ответить  
 
 автор: Lukas   (05.10.2008 в 16:31)   личное сообщение
 
 


в невидимой еще штук 25 полей.

Не надо хранить значения в невидимых полях, для этого есть переменные. К ним и обращения происходят значительно быстрее, чем к элементам управления.

.. это куча полей переименовывать и код перепрописывать...

Вот поэтому и предлагаю вынести расчет в отдельную функцию.
Вызываем функцию расчета, передаем аргументы (то есть обращения к полям происходит всего 1 раз), функция возвращает необходимые значения.

А по поводу наглядности попробуй так:
На основную форму добавь элемент управления "вкладка". Сделай три вкладки. На каждую добавь подчиненную форму: форму-калькулятор.
1. Не надо будет иметь три формы-калькулятора.
2. Место занимает в 3 раза меньше.
3. Наглядность почти такая-же.

Только я так не пробовал, может чего и не срастется, но попробовать стоит.

  Ответить  
 
 автор: Pasat   (05.10.2008 в 14:25)   личное сообщение
 
 

ИМХО если три формы решают одну и ту же задачу, то вполне можно оставить одну. Вместо надписи сделай техт бокс в котором через ИФ выводи нужную надпись. Прикинь если через какое-то время нужно будет что-то поменять в форме, тож будет тройная работа. Тебе это надо?

  Ответить  
 
 автор: Lukas   (05.10.2008 в 14:29)   личное сообщение
43 Кб.
 
 

Пример.

  Ответить  
 
 автор: Скорп   (05.10.2008 в 14:34)   личное сообщение
 
 

так вот я и запарился уже
появляются новые данные и я код начинаю править во всех 3-х формах...

(О! Lukas что-то прикрепил, пойду смотреть...)

  Ответить  
 
 автор: Bellerofont   (05.10.2008 в 19:04)   личное сообщение
 
 

Можно одновременно загружать несколько вариантов одной формы.
См. http://www.sql.ru/faq/faq_topic.aspx?fid=240

  Ответить  
 
 автор: Скорп   (05.10.2008 в 23:49)   личное сообщение
 
 

уфф-ф-ф...
третья тема, которую я поднимаю мне не по зубам пока

TreeView, клонирование форм и ...

  Ответить  
 
 автор: Lukas   (05.10.2008 в 23:57)   личное сообщение
 
 

Попробуй со вкладками и одной формой. Я на две вкладки вложил одну и туже форму, вроде полет нормальный.

  Ответить  
 
 автор: Скорп   (06.10.2008 в 00:00)   личное сообщение
 
 

а что это даст?
форма как была "тяжелой", так и останется ведь...

п.с. не, пока отложу эту темку в избранное, вернусь к ней попозже

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList