powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / "Блокировка" записей от юзера
18 сообщений из 18, страница 1 из 1
"Блокировка" записей от юзера
    #32185229
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ!
А подкиньте идейку, как бы так сделать:
ввел юзер в строку-запись данные, нажал в этой же строке галочку -
запись посерела, не редактируется - ругается.
Отжал он галочку - опять можно работать.
Enabled - некрасиво, по записи нада бегать курсором. Лучше Locked с закраской.

Проблема: как при открытии/беготне по форме сделать, чтобы все автоматически было выкрашено сереньким и заблокировано?
Проверять каждую запись при загрузке и расставлять locked/backcolor конролам?!!
8-()
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185313
astecas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если Access2000, то проверяй значение галочки на On Dirty. Если me![галочка]=True, то Cancel=True (нельзя редактировать запись) и т.д. Иначе редактировать можно. А насчет изменения цвета поля - посмотри Format\Conditional Formatting... (в режиме конструктора формы). Правда, кажется, это слегка подтормаживает.
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185686
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conditional Formatting больно уж корявый и только по одному полю, а надо всю запись...

Народ, ну подкиньте идейку!..
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185753
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Проверять каждую запись при загрузке и расставлять locked/backcolor конролам?!!
Такое, кажется, только с табличными формами реализовать можно... Да и то только в момент ее загрузки, вроде ба...

>Enabled - некрасиво, по записи нада бегать курсором. Лучше Locked с закраской.
Такое, вообще, кажется, реализовать для строки нельзя, тока если для всего столбца сразу.

А вариант, при котором "сереет" в случае если заблокирована только ТЕКУЩАЯ запись подойдет (только для ленточной формы)?
Т.е. если пользователь устанавливает курсор на "заблокированную" запись, то поверх этой записи выводится какой-либо текст, или данные сажаются за решетку (|||||||||||||). Т.е. данные в строке видно, но они "за решеткой" - типа редактировать нельзя :)
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185814
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То бишь красивой полосатой (от закрашивания) табличной форме в А2000 не увидишь?..
Жаль... :(((

Спецы (Виктор, Саныч, Лох, Хам <перечисление без обид ;)>), отзовитесь!..

А текущую окрашивать по form.current предлагаешь?
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185829
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А текущую окрашивать по form.current предлагаешь?
Угу...

/как раз "специаллист" по интерфейсам :)
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185830
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я видел, что ко мне взывают, но посоветовать пока ничего не могу. :^)
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185845
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слышал про пример с подстветкой записей, бегающей за курсором.
Те, кто опробовал его на себе, могут что-то присоветовать?
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185852
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
По-моему, это недавно обсуждалось глобально.
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185871
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там - о красоте, а тут - о прикручивании выделения "как там" к новым нуждам ;)
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185886
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гы-гы-гы... ;)
Если говорить Cancel=true на dirty, то и галочку не снимешь!
:(
Программно мсжбоксом спрашивать о разблокировке приходится...
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185906
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, а что можно сделать с формой в табличном виде?
back/forecolor fontbold и прочие радости контролов не работают!!!
Что может юзер увидеть-то?
Спец Нуф-нуф, ау!
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185948
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае вариант - только ленточная форма + условное форматирование (Conditional Formatting). А иначе один контрол во всех записях менять будет.
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185965
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Спец Нуф-нуф, ау!
Неужели ирония? В мой адрес? В МОЙ? Гы...
Говоря что я "спец" по интерфейсу, я имел в виду по разработке интерфейса, а не по его кодированию в Аксе! Разница есть? :)

И как СПЕЦ по разработке интерфейса расскажу вам следующее:
- Не придумывайте такой интерфейс, который в данной среде разработки проекта реализовать не возможно. Например, не стоит включать в интерфейс мультимедийные средства, разрабатывая программу под DOS. Реализовать можно, но нужно ли? И какие слова вам будут говорить кодеры? :)
- Учитывайте особенности когнитивной психологии :)
- Как лично я решал бы вашу проблему, используя в качестве среды разработки Аксес.
Вот как.
Во-первых, давайте вспомним, что у человека кроме зрения есть еще и слух, который в данном случае мы просто обязанны использовать! И никаких мэсэджбоксов!!! Почему? Все просто... Подавляющее большинство пользователей не работают с клавиатурой "в слепую" и поэтому, когда юзер установил курсор на вашу "заблокированную" запись и начал ее редактировать, то он уже не смотрит на экран и, соответственно, не видит вашего сообщения. Узнает он об этом мэседжбоксе только после того, как ввел десяток символов, а то и вовсе не узнает, ибо заканчивает свой ввод Энтером, который убирает мэссагу, при этом юзер недоумевает: "Почему ничего не изменилось?". Именно для этого случая одной из ОБЩЕПРИНЯТЫХ реакцией системы на невозможность обработать нажатые пользователем клавиши является... простой BEEP (по английски разумеется, а не по русски "веер", которым воздух гоняют:).
Во-вторых, то что запись заблокированна уже показывает ваш чекбокс и было бы, возможно здорово, ежлиб все заблокированные строки как-либо выделялись (хотя не факт, что подобная зебра не будет утомлять юзера до "зайчиков"), но коль скоро реализовать сие в Аксесе трудно (если вообще возможно) то смиритесь с этим, и давайте пользователю понять что запись нельзя редактировать в момент попытки редактирования или в момент получения записью фокуса.
В-третьих, в момент попытки редактирования заблокированной записи (или в момент получения фокуса) выделите ее каким-либо способом. Так, для ленточной формы запись можно "посадить за решетку" (что, кстати надо еще знать как сделать), а для табличной формы воспользоваться СТАНДАРТНОЙ фичей аксеса по выделению строк/ячеек (см. Me.SelTop, Me.SelLeft, Me.SelWidth, Me.SelHeight).
Итого: Бикайте и Выделяйте/Мигайте записью, а то что юзер не видит чекбокса, ну так, кому щаз легко?

>back/forecolor fontbold и прочие радости контролов не работают!!!
Хм... //no comments
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185970
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм.. Логично аданака...
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32185990
astecas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гы-гы-гы... ;)
Если говорить Cancel=true на dirty, то и галочку не снимешь!


А если предварительно проверку поставить, то и галочку можно будеть снять, и все работать будет красиво.
Код: plaintext
1.
2.
if me![галочка] and Me.ActiveControl <> Me![галочка] then
   cancel = true
endif

А насчет цвета в табличной форме - это наврядли. По мне так и чикбокс достаточно информативен.
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32186262
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, уважаемый Нуф-Нуф, я искренне надеялся, что вы по Эксцессу...
Печально...

Насчет звуков
а) пока не дочитал до БИПа (знаю, что это за оператор ;-), думал, предложите каждому работнику колонки/наушники поставить ;)
б) юзверь озвереет от такого кол-ва бипов в день... 8(((
в) у мсжбокса, к которому прикручена стандартная картинка, и так автоматически воспроизводится звук.

>"посадить за решетку" (что, кстати надо еще знать как сделать),

Да, было бы интересно...
...Или уж тогда менять цвет во всей таблице ;)))
...
Рейтинг: 0 / 0
"Блокировка" записей от юзера
    #32186369
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>...что вы по Эксцессу ...
Не-не-не! Я с хирургией точно не связан :)
>Печально...
Ну почему же? Есть Аксессисты, есть Сишники, есть Дебилдеры, а есть... Разработчики интерфейса. Что печального та? //или просто не догоняю... Заете ли, друг из столицы приехал - гулянка до 5 утра - в ротике кака, в голове вава :)

>Насчет звуков...
...Вы сами себе противоречите:
>а) ...предложите каждому работнику колонки/наушники поставить ;)
т.е. у работников ни колонок, ни наушников, как я понимаю, нету (а я знаю фирму, где это вообще запрещено "фирменными" законами :)
>в) у мсжбокса, к которому прикручена стандартная картинка, и так автоматически воспроизводится звук.
Звук мседжбокса воспроизводится ТОЛЬКО через "колонки/наушники"!
Противоречие усматриваете в ваших рассуждениях или мне на него еще более явно указать? ;)

>б) юзверь озвереет от такого кол-ва бипов в день... 8(((
Не озвереет... Крысы вон и то не звереют, когда их током бьют, ежли они не в ту дырку полезли, а просто делают выводы и более туда не лазят :)
А вот звереть юзеры будут от того, что они данные вводят в... мэседжбокс, который висит так тупо и не знает что с энтими данными делать :)
Кроме того, повторюсь еще раз: Существует понятие "Утомляемость пользователя" и надо сто раз взвесить, стоит ли выделять строки цветом, при этом получая неупорядоченную (случайную) последовательность появления закрашенных и незакрашенных строк. В отчетах, где чередуются (обычно через строку) цвета фона строк это оправданно, ибо человеческий мозг воспринимает данное чередование как "СИСТЕМУ", которую не надо анализировать и использует только для того, что бы при чтении отчета глаза не перескакивали бы со строки на строку. Здесь же никакой системы (наличия закономерностей) не наблюдается, а значит пользователь, сам того не подозревая, будет постоянно анализировать эту самую хаотичную последовательность разноцветных строк, а коль скоро на зрение приходится львиная доля поступающей в мозг информации, то утомляемость юзера будет за пределами "красной линии". Один из законов разработки интерфейса гласит: "Если вы имеете возможность разгрузить визуальный информационный канал "Машина-Пользователь", то обязательно так и делайте!"

>>"посадить за решетку" (что, кстати надо еще знать как сделать)
>Да, было бы интересно...

Коль скоро вариант с ленточной формой не рассматривается, то вам это не должно быть интересно :)

>...Или уж тогда менять цвет во всей таблице ;)))
Почему же нельзя? Можно...

Повторюсь еще раз, как бы лично я решил вашу задачу:
1. Сделал бы чекбокс "закрепленной колонкой", чтобы пользователь видел его всегда ;
2. На попытку внесения изменений в заблокированную запись:
- ВЕЕР;
- на KeyDown - выделить запись (SelTop, SelLeft.......)
- на KeyUp - убрать выделение записи.

На этом я видимо и покину топик, ибо других вариантов предложить не могу, а отнимать драгоценное время All (в том числе и свое конечно:) считаю неразумным
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / "Блокировка" записей от юзера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]