|
|
|
Получил проблему с реализацией интерфейса
|
|||
|---|---|---|---|
|
#18+
Прошу помочь уважаемую аудиторию в разрешении следующей проблемы построения интерфейса. В подчиненной форме отображаю некий перечень дополнительных свойств, характеризующих предмет, который отображает главная форма. Дополнительные свойства разные для предметов разных типов. Их может не быть совсем, а может быть одно или несколько. При указании типа предмета, в подчиненную форму добавляются записи, соответствующие свойствам, присущим этому типу. У каждого свойства есть состояние. Сначала состояния заполняются значениями по умолчанию. Состояние свойства можно менять, выбирая из списка допустимых для этого свойства состояний (в простейшем случае - "Да/Нет", в более сложных случаях список выбора может быть более солидным). Справочник, содержащий списки выбора, находится в одной таблице. Так вот, не могу понять, как в Access'е нарисовать работу со списками выбора состояний свойств в подчиненной форме. Обычный выпадающий список, вроде как, не подходит - как только я ограничиваю его источник данных диапазоном для выбора состояний, присущих только текущему свойству, у меня с экрана пропадают все описания состояний других свойств. Как бы мне попроще выкрутиться? Access знаю на уровне продвинутого пользователя. Программирую профессионально, но совсем другие вещи. Взялся за маленький проект в Access'е сугубо из интереса освежить знания о программировании пользовательских интерфейсов. А он меня так жестоко приложил. Может, найдете время объяснить, как такие вещи делаются? Буду весьма признателен. Если вопрос уже обсуждался, подскажите ссылку, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 13:23 |
|
||
|
Получил проблему с реализацией интерфейса
|
|||
|---|---|---|---|
|
#18+
не понял. но думается в Form_Current подчиненной Requery списка значений св-в тебе поможет. Вру (доехал, торможу :). Сделай к примеру Ленточную (а не табличную) подформу. Вместо комбо - комбо+комбо (одного размера, но "на переднем плане" комбо без выборки, на заднем - с выборкой)). ПО входу (OnEnter) в "передний комбо" передавай фокус заднему (отрекваерив его). Как сделать в "табличной" подформе - не соображу. (разве оставить 2 столбца - один для отображения, другой - для выборки?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 13:43 |
|
||
|
Получил проблему с реализацией интерфейса
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял проблему, то фильтр списка в подчиненной форме надо изменить таким образом, чтобы оно тображал значения не только для текущей записи, но и для всех остальных отображенных записей. Второй вариант, который так же не слишком хорош - использовать для отображения заначений функцию Dlookup, и, соотвественно вместо поля со списком обычное поле с формулой "=DLookUp()" в ControlSource, а ввод осуществлять в поле со списком, расположенном в "подвале" ленточной подчиненной формы. В этом случает в списке можно отображатьб только нужные значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 14:32 |
|
||
|
Получил проблему с реализацией интерфейса
|
|||
|---|---|---|---|
|
#18+
2не понял А если по OnEnter поле в табличной форме накрывать свободным выпадающим списком, расположенным на главной форме? Это просто? Или, действительно, расположить рядом простой текст для отображения и выпадающий список нулевой ширины (ну, чтобы только кнопочку видеть) для выбора - причем, запретить менять ширину списка и расположение относительно текстового поля. В табличной форме так можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 16:45 |
|
||
|
Получил проблему с реализацией интерфейса
|
|||
|---|---|---|---|
|
#18+
Наверное можно, но навряд-ли просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 17:30 |
|
||
|
Получил проблему с реализацией интерфейса
|
|||
|---|---|---|---|
|
#18+
Или, может, открыть модальное окно со списком? Так я параметры возвращать не умею... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 17:50 |
|
||
|
Получил проблему с реализацией интерфейса
|
|||
|---|---|---|---|
|
#18+
ммм...\r 1. Т.е. вычислять координаты текущей ячейки в табличной форме, приписывать их списку, нажодящемуся в главной и пытаться поднять его "на передний план"? Боюсь, обычный контрол вы не выдвинете над подформой. Придется помещать список на другую подформу (тогда ее выдвинуть перед другой будет можно), которую вряд ли удастся лишить лишних деталей (заголовка и т.п.).\r \r 2. В случае выбора в таблице вряд ли удобно то, что вы предлагаете Но ColumnHidden, ColumnOrder и ColumnWidth в помощь. Что за события будут происходить при изменениях размеров (не только мышкой можно тягать) сказать не берусь. Т.ч. придется видимо таймер задействовать на проверку взаиморасположения полей.\r \r Кстати тема обсуждалась:\r \r /topic/74232&hl=%f2%e0%e1%eb%e8%f7%ed%e0%ff(см решение Влад. Саныча)\r \r \r /topic/36567 (Тут Geo что-то предлагал на 2-й стр.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 17:58 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32455515&tid=1675833]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
417ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 694ms |

| 0 / 0 |
