powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нужна идея по организации многопользовательской mdb
53 сообщений из 53, показаны все 3 страниц
Нужна идея по организации многопользовательской mdb
    #32549570
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто поможет советом?
Есть многопользовательская база mdb, у нее около пяти пользователей.
Как сделать, чтобы каждый пользователь работал только со своими данными, т.е. есть четыре оператора, и каждый работает только с теми данными, которые он набил, есть один главный оператор, у которого есть доступ ко всем данным всех четырех операторов и + он тоже может набивать данные только для себя.
Как организовать такой ввод?

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

Как сделать, чтобы каждый оператор работал только со своими данными?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549574
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и сделай ключ в таблице ID оператора
а чтобы не лезли через таблицы - mde и убери окна базы
Shift я бы оставил если оператор умный против него нет приема
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549586
Omar_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня тоже такая есть необходимость есть 5 юзеров они заводят в форму данные которые потом инсертятся в общую таблицу правда ключ юзера не нужен мне. Вопрос такой
на кнопку я вешаю
CurrentDB.Execute Insert......Me!Combo
так вот если допустим mde будет лежать где-нить в сетевой папке и они все одновременно открывают этот файл и вводят данные. Могу ли я быть уверенным что после отработки процедуры онклик все записи нормально заинтесртятся, то есть не будет там всяких конфликтов
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549589
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
то есть не будет там всяких конфликтов

зависит от устройства ключа в этой таблице ксли счетчик то OK
проблема будет когда оператору надо понять где на экране(списке) то что ввел он , а где сосед
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549596
Omar_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключ у меня счетчик, тогда может добавить таблицу юзеров ID Name например и добавить в главной таблице поле IDOperator.А форме комбо с фамилиями юзеров? Но тогда он может выбрать соседа и под ним забивать? есть ли в Аксе какой нибудь инструмент который бы инсертил бы код оператора(именно того под каким логином он зашел в базу) в таблицу, и еще как вобще можно сделать авторизацию юзеров в плане при запуске приложения выскакивает бокс с двумя полями логин и пароль?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549615
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shuhard:
авторну и сделай ключ в таблице ID оператора
Т.е. сделать пять ключевых полей, по ключевому полю на каждого оператора?
Или я неправильно понял?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549622
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Т.е. сделать пять ключевых полей, по ключевому полю на каждого оператора?
Или я неправильно понял?

одно(1,ОДЫН ДА) дополнительное поле содержащие Id оператора
+ табличка соответствия Id оператора его Nickу

соответственно запросы на выборку несут в where ... Id=Id_конкретного оператора
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549624
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То Omar_K
автор
А форме комбо с фамилиями юзеров? Но тогда он может выбрать соседа и под ним забивать

способов много если проект mdb+mdb
то я кидаю на каждой машине поглубже в windows\system32 mdbу c 1 таблицей одним полем - Id оператора

если вопросу ДСП и коммерческой тайны то деоай стандартную как минимум защиту и привязывайся к User в Access(см конфа+фаги)


авторизовать можно своими средствами но лучше встроенными в Access
(сам использую в таких случаях Sql 2000 и знания по mdb гипотетические)
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549744
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, у меня в моих данных есть поле №пользователя (т.е. для каждого поля, занесенного пользователем есть числовое поле №пользователя), есть талбица соответствия №пользователя и имени_пользователя, сделал форму для ввода №пользователя и имени_пользователя, а как теперь сделать, чтобы у пользователя при вводе данных для каждой записи автоматически заносился в таблицу номер, который он ввел первоначально в поле №пользователя?

Как?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549749
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не знаю, сработает ли как DefaultValue; если нет, то через BeforeInsert:

Код: plaintext
dlookup("№пользователя","талбица","имяпользователя='" & currentuser() & "'")
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549751
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dlookup , для многопользовательской базы ? ? ?
Когда записей будет, хотя бы 10000, то база уже будет очень медленно работать!
К сожалению, наверно этот способ не подойдет.

А можно как-то программно сделать "значение по умолчанию", для поля, ведь если пользователь ввел свой идентификатор, то наверно можно использовать это значение по умолчанию, для поля №пользователя , для тех записей которые вводит именно он?
Или я не прав?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549753
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dlookup будет тормозить, если к нему обращаться в запросе. Если всего одно обращение за операцию, то это не страшно.

В принципе, можно так: сразу после входа посчитать это число по той же моей формуле, занести в глобальную переменную и потом уже брать из этой переменной, а не запускать каждый раз dlookup.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549754
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпосчитать это число по той же моей формуле, занести в глобальную переменную и потом уже брать из этой переменной
Саныч, я же только учусь, я еще не такой умный и не знаю, как это сделать.

Можно, PLS, немного поподробнее, как это сделать.

P.S. А идея - супер.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32549756
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
В каждой базе есть либо макрос по имени AutoExec, в котором указано, какую подпрограмму исполнять при запуске, либо форма, которая открывается первой и у которой есть OnOpen и OnLoad. Вот где-нибудь среди этого кода и пишем:

nCurUser = dlookup...

где nCurUser - это переменная, описанная как Integer или лучше Long. Дальше. Создаем где-нибудь функцию:

public function CurUserNumber()as long
CurUserNumber=nCurUser
end function

И в DefaultValue соответствующего текстбокса пишем:

=CurUserNumber()
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551109
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все работало бы нормально, но у меня запрос с параметрами.
и соответветственно строка
Код: plaintext
nCurUser = DLookup("[№пользователя]", "запрос_пароль", "[имя_пользователя]='" & CurrentUser() & "'")
не работает, т.к. у меня есть запрос_пароль вида:
Код: plaintext
1.
2.
SELECT тбл_пароль.имя_пользователя, тбл_пароль.№пользователя
FROM тбл_пароль
WHERE (((тбл_пароль.имя_пользователя)=[p1]) AND ((тбл_пароль.№пользователя)=[p2]));
Что в DLookup написать, чтобы Access переваривал запрос с параметрами?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551518
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя бы намекните, пожалуйста, в какую сторону копать?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551527
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не переварит. Нужен запрос без параметров.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551530
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС:
Спасибо.

2 Сам себе:
Я озадачен.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551535
себесям
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И чем же?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551538
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ чем же?
Тем, что для авторизации пользователя нельзя сделать запрос без параметров - работать не будет.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551543
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Так сделай для дилукапа еще один запрос. Или у тебя в базе больше одного запроса не помещается?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551544
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кстати, я-то предлагал запихивать в дилукап не запрос, а прямо таблицу. Зачем понадобился запрос, я не знаю.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32551900
dkny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Саныч , а как можно вставить Dlookup в таблицу? Впрочем, вопрос у меня не об этом, это так, вырвалось :)

Вопрос вот какой: идея организовать доступ к данным на основе Login'a посещает, похоже, каждого, кто работает с многопользовательской mdb. У меня это находится на стадии идеи, соответственно, прежде чем огород городить, хотелось бы выяснить все более подробно.

У меня: вход по логину, есть таблица (или таблицы) с полем ID, этот ID однозначно связан с данными о сотруднике. ID в таблицах служит индикатором доступа к данным, т.е. человек с другим ID эти данные не прочитает.

Нужно: занести Login в глобальную переменную (или куда там оно может влезть) и в запросах/формах/отчетах брать этот Login (это то же самое, что и ID) для своих целей.

Я так понимаю, что сначала нужно создать функцию, забирающую Login. Не подскажете ли как? (прошу прощения, если повторяюсь) И из нее, как глобальную переменную брать ID (тоже с примерчиком на пару строк, если возможно, например, для запроса). Правильно?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32552349
Фотография neal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсть многопользовательская база mdb, у нее около пяти пользователей.
Как сделать, чтобы каждый пользователь работал только со своими данными, т.е. есть четыре оператора, и каждый работает только с теми данными, которые он набил, есть один главный оператор, у которого есть доступ ко всем данным всех четырех операторов и + он тоже может набивать данные только для себя.
Как организовать такой ввод?

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

Как сделать, чтобы каждый оператор работал только со своими данными?
ИМХО, в таблице, где храняться эти данные сделать поле Доступ типа byte. Обязательное.
При входе брать идентификацию пользователя и/или компьютера через функции api.

Завести в таблицу где IDпользователя,ИмяПользователя поле УровеньДоступа типа byte.
Прописать для первого пользователя УровеньДоступа: 1
для второго: 2
для третьего: 4
для четвертого: 8
для пятого (в данном случае): 31 (1+2+4+8 его 16)

После идентификации в глобальную переменную (TheDostup) записывается его УровеньДоступа.
Создаются функции в каком-нибудь глобальном модуле:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
private TheDostup as byte

public function CurrDostup() as byte
    CurrDostup = TheDostup
end function

Public Function Crossbit(ByVal I1 As Byte, ByVal I2 As Byte) As Boolean
    Dim K As Byte
    Dim F As Boolean
    F = False
    K =  128 
    Do While (K >  1 )
        If (I1 >= K) And (I2 >= K) Then
            F = True
            Exit Do
        End If
        If (I1 >= K) Then
            I1 = I1 - K
        End If
        If (I2 >= K) Then
            I2 = I2 - K
        End If
        K = K /  2 
    Loop
    If (I1 =  1 ) And (I2 =  1 ) Then
        F = True
    End If
    Crossbit = F
End Function

При вставке новой записи не забывай присваивать полю Доступ значение =CurrDostup()

В запросах, которые выводятся на экран пишется дополнительное условие в раздел WHERE crossbit(Доступ,CurrDostup())

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

Этой системы хватит на 8 различных типов доступа,
если надо больше, то вместо byte - integer, long.

Good luck!
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32552589
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот интересно
а чем вопрошающему не понравился
стандартный в Access способ раздачи прав
с использованием механизма раздачи логинов-паролей из system.mdw???

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

что не так со стандартной системой безопасности?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32552597
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
соответственно
в таблицу, по которой нужно "видеть только свои данные",
добавляется лишнее поле
в которое при сохранении записи дописываем currentuser()

- наверняка и defaultvalue=currentuser() прокатит -

а показывать каждому юзеру свое -
делай SELECT по равенству поля результату currentuser()
или без этого ограничения - для просмотра всего
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32552807
Фотография neal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор- наверняка и defaultvalue=currentuser() прокатит -

ИМХО, не прокатит, только кодом

автора показывать каждому юзеру свое -
делай SELECT по равенству поля результату currentuser()
или без этого ограничения - для просмотра всего

А пятому юзеру свои записи и всех остальных.
А потом появиться начальник над (2) и (4) юзером и захочет видет только их записи - тогда опять все переписывать.

Таблица, в которой лежит информация об уровне доступа может быть не доступна юзерам (отсутствие возможности лазить в таблицы или вызываться кодом по отдельному коннекшену).
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32552939
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема для запроса с параметрами возникла, т.к. я сделал
так,
а для
авторстандартный в Access способ раздачи прав
с использованием механизма раздачи логинов-паролей из system.mdw
там уже сисадмины нафигачили все таким образом, что для всех пользователей при запуске Access один и тот же пароль и логин ? ? ?
Грустно все это конечно, но не я это придумал, это вроде у них называется: " корпоративная система безопасности ".

Поэтому я не знаю, как совместить запрос с параметрами с таблицей в которой содержатся логины и №пользователя.

Может кто поможет умной мыслью ?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32552970
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ИМХО, не прокатит, только кодом

Ну привет
создай форму
положи поле
и дай ему defaultvalue - CurrentUser()
и посмотри, что оно работает

>А пятому юзеру свои записи и всех остальных.

а это Where измени ;)

> А потом появиться начальник над (2) и (4) юзером и захочет видет только их записи - тогда опять все переписывать

а это уже дерево получается ;)))))))))
странная задача какая-то

>Может кто поможет умной мыслью

Так
делаем табл
Users (ID,nick,FIO, bla-bla...)
Groups (ID,name)
между ними связка многие-ко-многим - табл:
UsersGroups(IDUser,IDGroup)
в ней вяжешь каждого юзера к определенной или нескольким группам

еще табл
FormsReports (ID, name)
- здесь список всех форм, которые должны проверяться на права открытия-запуска
и связка
GroupsFormsReports (IdGroup,IDFormsReports)
опять многие ко многим
показываешь, какая группа может открывать какие отчеты

ВСЕ!

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

и добавить нового юзера сюда легко:
вписал в Юзерс
и поставил ему группу - и все!!!
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32553279
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Alexus12:
Да уж, глубоко.
Если Вы такую штуковинку реализовывали в Access, ОЧЕНЬ большая просьба - можете мне примерчик на мыло скинуть ? ? ? PLS !
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32553317
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть многопользовательская база mdb, у нее около пяти пользователей.
Как сделать, чтобы каждый пользователь работал только со своими данными, т.е. есть четыре оператора, и каждый работает только с теми данными, которые он набил, есть один главный оператор, у которого есть доступ ко всем данным всех четырех операторов и + он тоже может набивать данные только для себя.
Как организовать такой ввод?

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

Как сделать, чтобы каждый оператор работал только со своими данными?Одна большая сетевая таблица с данными. У каждого юзера запускается mdb, к которому прилинкована основная таблица. В местном mdb у каждого одна временная таблица, в которой он обрабатывает данные. Когда всё готово, onsubmit эти данные SQL-ем перегоняются в сетевую, причём в одно дополнительное поле пишется username (где-то был код для получения имени текущего компьютера - это используется у меня в рабочей базе данных; интересно - могу дать). Для работы с теми данными можно использовать форму, шагающую по сетевой таблице с фильтром по username. Или запросом отбирать данные оттуда и пускать юзера гулять по локальной копии. Да, запрос можно сделать динамическим, тогда данные можно будет изменять.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32553589
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 маяк:
авторинтересно - могу дать
Если не сложно - скиньте, пожалуйста, базку с этим рабочим кодом мне на мыло.

P.S. Чем дальше топик, тем более сложные реализации предлагают уважаемые форумяне,
скоро, наверно предложат Б.Д., которая умеет еще и крестиком вышивать.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32553709
dkny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень сильно подозреваю, что в случае с mdb, сделать так как говорит Alexus12 было бы очень логично. Пожалуй, стоит над этим подумать поподробнее.

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

Итак, таблица с пользователями уже есть (твои Users), делаем таблицу прав доступа (точнее, это ведь не права доступа, потому что эти права вполне нормально назначаются стандартными средствами, это таблица прав доступа к конкретным данным, во как). В этой таблице для пользователя с ID = '00001' ставим разные правила, например, ЗаказчикID = '00002', КлиентID = '00013' и т.д., т.е. те данные, которые ему разрешаем брать из таблицы.

В эту же таблицу с юзерами можно добавить и группы (чтобы сэкономить на таблице :), но лучше, конечно, сделать для групп отдельную таблицу). Тогда в итоге будем иметь стандартные разрешения на открытие форм (если не все из них можно открывать) и наши разрешения из таблицы Users на определенные данные. Имхо, этого достаточно, т.к. пользователь 'Vasya' не откроет форму, если ему это не разрешено, а если разрешено, то получит только свои данные. Получается, что даже код не нужен. Но недостаток в том, чтобы придумать универсальное поле для запросов, выводящее только нужные записи (опять же, слишком много разных конструкций для каждого запроса делать бессмысленно, имхо).

Как быть со сложными разрешениями типа ?
neal
А потом появиться начальник над (2) и (4) юзером и захочет видит только их записи
Может быть, сделать связь Users с таблицей доступа многие ко многим и просто для юзера Boss вставить всех клиентов? Слишком много вставлять, кроме того, при появлении новых клиентов, придется добавлять и доступ. Тут еще думать и думать, чтобы не напутать...

P.S. У меня в Access 2k3 в поле формы с параметром по умолчанию как CurrentUser(), все совершенно нормально и корректно выводится (т.е. без кода).

That's all folks...
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32553724
dkny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, забыл один вопрос к маяк .

Метод не сложный и хороший. Есть вопрос: как все же реализовать доступ только к определенным данным, если, скажем, права на этот доступ будут не только у того юзера, который эти данные ввел?

Пример: менеджер "Vasya" вбивает заказ и суммы. Посмотреть их хочет ген. директор, его зам, его зам зама и т.д.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32554182
АСУчник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоже я делал на одной организции. Необходимо создать частичные реплики по полю User. После репликации они сливаются в одну базу на сервере или где там.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555080
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые форумяне, отошлите мне, пожалуйста, кто-нибудь, сделанную систему учета пользователей в виде mdb файлика!

Очень надо.

Пожалуйста ! ! !
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555281
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полу Off .

Ну вот, как делать - так все делали.
А как поделиться наработками - так никого.

Обидно.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555287
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gyslik.Если не сложно - скиньте, пожалуйста, базку с этим рабочим кодом мне на мыло.Ты уверен, что хочешь получить 10 метров мыла? Давай я лучше тебе скину процедуру, а? Там немного, через winapi.

Глобально сейчас обсуждаются два подхода -
(1) использовать встроенную аксессовскую систему защиты и ограничения доступа,
или
(2) писать что-то самому.

Первый способ очевидно предпочтителен, но о нём, видимо, что-либо знают единицы (признаюсь, я не среди них).
Второй способ прост и незатейлив, как редис, но не имеет никакой устойчивости перед любопытным юзером.
Что выберете вы?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555295
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
маяк, там вопрос от dkny за 11:10. :^)
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555302
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Санычмаяк, там вопрос от dkny за 11:10. :^)Я на него и ответил, сказав о двух подходах.

dknyСорри, забыл один вопрос к маяк .

Метод не сложный и хороший. Есть вопрос: как все же реализовать доступ только к определенным данным, если, скажем, права на этот доступ будут не только у того юзера, который эти данные ввел?

Пример: менеджер "Vasya" вбивает заказ и суммы. Посмотреть их хочет ген. директор, его зам, его зам зама и т.д.dkny, чего ты хочешь? Если нормальной реализации, то копай в нормальном учебнике по аксессу, а если самопальной - то в чём вопрос? Создаёшь глобальную переменную с типом текущего юзера, и в каждом месте, где нужно ограничение доступа, проверяешь её значение. Авторство данных проверять можно, добавив к данным ещё одно поле, содержащее имя машины создателя в сети.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555305
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть в акцессе некая фича, о которой здесь почему-то (и не только здесь) дурная молва идет. Личного опыта применения нету. (Видел "на стороне" и издалека дурных впечатлений не возникло) Но люди на форуме, которые "в теме" - точно есть.
"Фича" писалась фактически "прямо под эту задачу". И, как бы ее не ругали, выписана была неплохо задолго до того, как в "больших" субд появилась в сколь-нибудь сопоставимом функционале. (Это я про ораклы с мс эскуэль серверами) Да и писалась "нашими людьми" (Это я на Michael Kaplan намекаю). Интересно, почему, люди "знающие" молчат по ее поводу? Какие там такие неудачи, чтобы игнорировать молчанием? Как мне представляется в "нормальной" локальной сети должна работать вполне надежно.
Имя ей РЕПЛИКАЦИЯ.
Может кто из знающих вопрос внятное что-нибудь скажет?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555314
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VictoshaИмя ей РЕПЛИКАЦИЯ.Да, расскажите, кто это такая?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555342
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гетц 2 раза. И про репликацию, и про встроенную в акс систему разграничения прав доступа.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555418
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 маяк:
авторТы уверен, что хочешь получить 10 метров мыла?
Уверен.
Если у Вас инет бесплатный, и не сложно скинуть - кидайте на мыло.
И файл, можно не разбивать.

авторГлобально сейчас обсуждаются два подхода -
(1) использовать встроенную аксессовскую систему защиты и ограничения доступа,
или
(2) писать что-то самому.
Что выберете вы?
Мне нужен именно ( 2 ) способ, т.к. вариант (1) мне не подходит см. пост от 8 июн 04, 17:28 .
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32555986
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТемныйГетц 2 раза. И про репликацию, и про встроенную в акс систему разграничения прав доступа.Где брать Гетца? Есть в электронном виде?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32556003
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gyslik.2 маяк:Ты уверен, что хочешь получить 10 метров мыла? Уверен.
Если у Вас инет бесплатный, и не сложно скинуть - кидайте на мыло.
И файл, можно не разбивать.Ушло. Смотри Public Function thisusername() As String в модуле Utilities.

Gyslik.Глобально сейчас обсуждаются два подхода -
(1) использовать встроенную аксессовскую систему защиты и ограничения доступа,
или
(2) писать что-то самому.
Что выберете вы?
Мне нужен именно ( 2 ) способ, т.к. вариант (1) мне не подходит см. пост от 8 июн 04, 17:28 .В чём проблема?
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32556010
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
/topic/45618
/topic/56645&pg=-1
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32556118
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет,

полезный топик, я тоже свои 5 копеек вставлю.

у меня небольшая финансовая база (в пределах 50 тысячь записей) на 5 юзеров, имеется возможность разграничения прав доступа (в силу оффисной специфики имеется всего 2 группы юзеров: админ и юзер), ну и соответственно возможность изолированной работы с данными. Так вот делал я таким образом: есть таблица Юзеров связанная с таблицей Права и остальными таблицами данных. Ну а источник форм соответственно фильтруется по соответствующему индексу юзера.

Для наглядности я пару скриншотов приложил.
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32556145
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
черт файл не подцепляется хотя он меньше 100 кб :(
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32556149
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Там написано:Приложить файл (максимальный размер 70Kb)
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32556161
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санычь, описАлся я, он меньше 70 кб, правда в .zip
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32566956
dkny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EDUDK01 , в том-то вся проблема этого метода. Поясню, в чем у нас трабла:

Есть 3 менеджера, занимающиеся клиентами "А", "Б", "В" соответственно (т.е. каждый только с одним). Этим менеджерам записи друг друга видеть нельзя (ну, там, конкуренция и все такое). Но. Есть еще бухгалтер, зам. генерального, сам генеральный. Эти привилегированные пользователи могут видеть разное. Т.е. бухгалтер (условно) записи менеджеров 1 и 2, но не 3 (типа третий работает с откатами напрямую с замом :).

Думаю, все уже поняли, что за проблема. Очевидно, что в случае нежелания делить таблицы с данными для применения встроенной защиты Access по менеджерам (у меня), приходится делать защиту самостоятельно. Эта наша защита, суть тот же механизм с двумя колесами, только медленный и корявый. Ведь делать нужно обычные группы пользователей (как отдельную таблицу) и самих пользователей (тоже таблица). Их взаимоотношения прописывать ручками, а разграничивать запросами. Но, ладно бы эти ограничения можно представить по нисходящей в плане доступа, так ведь нужно еще ограничить параллельно (1 видит 2, 2 видит 3, 3 видит 1 и т.д.). Жуть.

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

That's all folks...
...
Рейтинг: 0 / 0
Нужна идея по организации многопользовательской mdb
    #32567996
kk@comson.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexus12вот интересно
а чем вопрошающему не понравился
стандартный в Access способ раздачи прав
с использованием механизма раздачи логинов-паролей из system.mdw???

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

что не так со стандартной системой безопасности?

А не так вот что.

Создав пользовательскую таблицу типа

User_ID (int),
User_Name (nvarchar (50))

можно связать эту таблицу с другими с ограничением целостности данных, например, с таблицей "Заказы" из базы данных "Борей". Далее не нужно беспокоиться о том, чтобы каждому заказу соответствовал сотрудник, за целостностью данных следит СУБД. А как связать с пользовательскими таблицами системную таблицу? Может, и есть какой способ, но легче свою смастерить.

У меня сейчас такая же трабла в SQL. Есть системная таблица "sysusers", а что толку? Наверное придется свою таблицу рисовать.
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нужна идея по организации многопользовательской mdb
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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