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

Форум: MS ACCESS

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

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

 
 

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

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

тема: нужны идеи по реализации интерфейса
 
 автор: osmor   (25.08.2010 в 08:34)   личное сообщение
6 Кб.
 
 

есть таблица для каждой из строк таблицы возможно ОДНО из двух действий, либо "добавить" либо "удалить" (это определяется знаечнием одног из полей таблицы). Еще можно ничего не делать.
Нужно пользователю дать возможность поставить/снять галочку в поле обозначающем соответствующее действие, но только в том дуйствии, которое разрешено для данной строки. т.е. скрыть то действие (добавить или удалить) которое для данной строки не разрешено.
Просто НЕ ДАТЬ ВЫПОЛНИТЬ действие недостаточно, нужно именно не показывать его.
Все нужно сделать штатными средствами в табличной (ну на худой конец ленточной форме) примерно так см. рисунок. (для строки 1 и 4 не разрешено действие "удалить", так и флажка нет)
Есть какие-то идеи?

  Ответить  
 
 автор: kot_k_k   (25.08.2010 в 10:15)   личное сообщение
8 Кб.
 
 

а если как-то так?

и цветом раскрасить

  Ответить  
 
 автор: kot_k_k   (25.08.2010 в 10:33)   личное сообщение
11 Кб.
 
 

или вот так - по колонкам
двойной клик на надписи

  Ответить  
 
 автор: osmor   (25.08.2010 в 10:53)   личное сообщение
 
 

ща найду винды где нибуть, посмотрю

  Ответить  
 
 автор: osmor   (25.08.2010 в 11:14)   личное сообщение
 
 

не несовсем то.
Нужно для каждой строки одно действие которое разрешено для данной строки
для какой-то удаление, для какой-то добавление
строка для которой разрешено добавление, не может быть удалена, она может бвть либо проигнорирована либо добавлена и наоборот
строка для которой разрешено удаление, не может быть добавлена, она может бвть либо проигнорирована либо удалена
нужно показать пользователю только то действие для строки которое для нее возможно.

  Ответить  
 
 автор: kot_k_k   (25.08.2010 в 12:06)   личное сообщение
 
 

ну см. второй вариант - там поле del_add - это твой признак что мона делать со строкой (его скрыть на фиг), скрытые логические Vibor_del и Vibor_add - выбор пользователя, но т.к. их нельзя скрыть условным форматирование создал два поля (Поле12 и Поле14) - для юзера поле12 видно только тогда когда можно удалять строку, а поле14 видно когда можно добавлять - вот по дабл клику он и выбирает нужное. в место надписей можно воткнуть рисунок с галочкой который менять на пустой.
Можно на даблклик дабавить проверкку поля del_add и игнорировать если не совпадает.

а код уже раздупляет по полям del_add, Vibor_del Vibor_add че ему делать.

  Ответить  
 
 автор: Lukas   (25.08.2010 в 11:17)   личное сообщение
 
 

А много-ль записей в табличке будет?

  Ответить  
 
 автор: osmor   (25.08.2010 в 11:36)   личное сообщение
 
 

не очень
надеюсь что не более тысячи

  Ответить  
 
 автор: Lukas   (25.08.2010 в 11:45)   личное сообщение
7 Кб.
 
 

Каким атрибутом определяется разрешенное действие для строки?
Добавлено:
Самый простой вариант:
На форме-контейнере две вложенные формы с источниками-запросами, зеркально фильтрующими по значению этого атрибута, исключающие ненужное поле.

  Ответить  
 
 автор: osmor   (25.08.2010 в 12:26)   личное сообщение
 
 

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

  Ответить  
 
 автор: АлексейЕ   (25.08.2010 в 11:56)   личное сообщение
31 Кб.
 
 

Для 2003, на 2007 не пробовал.
Прошу прощение за оформление, здесь только идея.
Отображение зависит от значения в поле "e". Значение полей "q" и "w" меняется скрытыми кнопками, которые расположены поверх полей отображающих текстовое значение этих полей .
В полях отображающих значение True , False, Низя использовал шрифт "Wingdings"

Пример тут: http://slil.ru/29597438

P.S. Если поиграть шрифтами, да еще в 2007 версии, то может можно и красивее сделать.

  Ответить  
 
 автор: АлексейЕ   (25.08.2010 в 12:05)   личное сообщение
17 Кб.
 
 

Сюда кладу пример в архиве.

  Ответить  
 
 автор: osmor   (25.08.2010 в 12:27)   личное сообщение
 
 

спасибо - посмотрю

  Ответить  
 
 автор: osmor   (25.08.2010 в 14:17)   личное сообщение
 
 

здорово!
мне подходит, вечером буду делать.
Спасибо.

  Ответить  
 
 автор: Lukas   (25.08.2010 в 13:47)   личное сообщение
10 Кб.
 
 

А как насчет такой истории и динамичного контекстного меню о трех кнопках по клику на поле Action? =>
Видимы две кнопки (Add и Clear) или (Del и Clear), а доступна только одна.

  Ответить  
 
 автор: osmor   (25.08.2010 в 14:07)   личное сообщение
 
 

не понял

  Ответить  
 
 автор: Lukas   (25.08.2010 в 16:43)   личное сообщение
18 Кб.
 
 

Как-то так =>
Сделал и на правый и на левый клик.
Но решение от Алексея ближе к ТЗ и менее "затратно".

  Ответить  
 
 автор: Lukas   (25.08.2010 в 17:00)   личное сообщение
16 Кб.
 
 

Или так, без вспомогательной таблички.

  Ответить  
 
 автор: osmor   (25.08.2010 в 17:22)   личное сообщение
 
 

Спасибо. Вечером гляну

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

Всем большое спасибо.
буду реализовывать вариант Алексея.
Но если у кого есть идеи... милости просим

  Ответить  
 
 автор: snipe   (30.08.2010 в 09:48)   личное сообщение
31 Кб.
 
 

=>

  Ответить  
 
 автор: kot_k_k   (30.08.2010 в 09:57)   личное сообщение
 
 

неувязочка - при движении вверх вниз таблицы КОЛЕСОМ МЫША - левая часть (с флагами) не двигается!!!!

  Ответить  
 
 автор: snipe   (30.08.2010 в 09:59)   личное сообщение
 
 


все двигается и по бегунку и кнопкам и колесику мыши

  Ответить  
 
 автор: kot_k_k   (30.08.2010 в 10:02)   личное сообщение
17 Кб.
 
 

воть

п.с. может от того что мыша у меня с 2 колесами?

  Ответить  
 
 автор: snipe   (30.08.2010 в 10:09)   личное сообщение
 
 

ХМ - странно
хотя если честно дома у меня такая же ерунда была - событие Колесико мыши подформы как-то некорректно отрабатывало (дома мышь с двумя колесами)

  Ответить  
 
 автор: kot_k_k   (30.08.2010 в 10:11)   личное сообщение
22 Кб.
 
 

да и визуализация не отвечает заданию. видны обе колонки.

  Ответить  
 
 автор: snipe   (30.08.2010 в 10:13)   личное сообщение
 
 

в задании написано что одно из полей отвечает за визуализацию ( у меня Поле1)
обрабатывается значение 1, 2, 3 во всех других случаях показываются оба флажка

  Ответить  
 
 автор: kot_k_k   (30.08.2010 в 10:18)   личное сообщение
 
 


Просто НЕ ДАТЬ ВЫПОЛНИТЬ действие недостаточно, нужно именно не показывать его.



в том то и мулька была что нужно показывать только один из них.

  Ответить  
 
 автор: snipe   (30.08.2010 в 10:24)   личное сообщение
 
 

kot_k_k - это всего лишь мысли
мысли о том как согласовать отображение подчиненной формы в табличном виде и свободных полей расположенных на основной форме
а условия отображения поменять всегда можно - это в данном случае не так критично
самое главное принцип - скелет (а мясо нарастет)

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