|
|
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Может кто поможет советом? Есть многопользовательская база mdb, у нее около пяти пользователей. Как сделать, чтобы каждый пользователь работал только со своими данными, т.е. есть четыре оператора, и каждый работает только с теми данными, которые он набил, есть один главный оператор, у которого есть доступ ко всем данным всех четырех операторов и + он тоже может набивать данные только для себя. Как организовать такой ввод? Конечно есть идея сделать 5 отдельных таблиц для всех пяти операторов и потом все данные сливать в одну общую таблицу, но наверно это как-то глупо. Например завтра появится шестой оператор и что, ему еще одну таблицу заводить надо будет? Как сделать, чтобы каждый оператор работал только со своими данными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 13:52:54 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
ну и сделай ключ в таблице ID оператора а чтобы не лезли через таблицы - mde и убери окна базы Shift я бы оставил если оператор умный против него нет приема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 14:01:13 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
У меня тоже такая есть необходимость есть 5 юзеров они заводят в форму данные которые потом инсертятся в общую таблицу правда ключ юзера не нужен мне. Вопрос такой на кнопку я вешаю CurrentDB.Execute Insert......Me!Combo так вот если допустим mde будет лежать где-нить в сетевой папке и они все одновременно открывают этот файл и вводят данные. Могу ли я быть уверенным что после отработки процедуры онклик все записи нормально заинтесртятся, то есть не будет там всяких конфликтов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 14:16:14 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
автор то есть не будет там всяких конфликтов зависит от устройства ключа в этой таблице ксли счетчик то OK проблема будет когда оператору надо понять где на экране(списке) то что ввел он , а где сосед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 14:21:26 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Ключ у меня счетчик, тогда может добавить таблицу юзеров ID Name например и добавить в главной таблице поле IDOperator.А форме комбо с фамилиями юзеров? Но тогда он может выбрать соседа и под ним забивать? есть ли в Аксе какой нибудь инструмент который бы инсертил бы код оператора(именно того под каким логином он зашел в базу) в таблицу, и еще как вобще можно сделать авторизацию юзеров в плане при запуске приложения выскакивает бокс с двумя полями логин и пароль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 14:31:08 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
2 Shuhard: авторну и сделай ключ в таблице ID оператора Т.е. сделать пять ключевых полей, по ключевому полю на каждого оператора? Или я неправильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 15:29:01 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
автор Т.е. сделать пять ключевых полей, по ключевому полю на каждого оператора? Или я неправильно понял? одно(1,ОДЫН ДА) дополнительное поле содержащие Id оператора + табличка соответствия Id оператора его Nickу соответственно запросы на выборку несут в where ... Id=Id_конкретного оператора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 15:37:47 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
То Omar_K автор А форме комбо с фамилиями юзеров? Но тогда он может выбрать соседа и под ним забивать способов много если проект mdb+mdb то я кидаю на каждой машине поглубже в windows\system32 mdbу c 1 таблицей одним полем - Id оператора если вопросу ДСП и коммерческой тайны то деоай стандартную как минимум защиту и привязывайся к User в Access(см конфа+фаги) авторизовать можно своими средствами но лучше встроенными в Access (сам использую в таких случаях Sql 2000 и знания по mdb гипотетические) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 15:43:08 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Хорошо, у меня в моих данных есть поле №пользователя (т.е. для каждого поля, занесенного пользователем есть числовое поле №пользователя), есть талбица соответствия №пользователя и имени_пользователя, сделал форму для ввода №пользователя и имени_пользователя, а как теперь сделать, чтобы у пользователя при вводе данных для каждой записи автоматически заносился в таблицу номер, который он ввел первоначально в поле №пользователя? Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 23:10:43 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Не знаю, сработает ли как DefaultValue; если нет, то через BeforeInsert: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 23:17:21 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
dlookup , для многопользовательской базы ? ? ? Когда записей будет, хотя бы 10000, то база уже будет очень медленно работать! К сожалению, наверно этот способ не подойдет. А можно как-то программно сделать "значение по умолчанию", для поля, ведь если пользователь ввел свой идентификатор, то наверно можно использовать это значение по умолчанию, для поля №пользователя , для тех записей которые вводит именно он? Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 23:24:48 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
dlookup будет тормозить, если к нему обращаться в запросе. Если всего одно обращение за операцию, то это не страшно. В принципе, можно так: сразу после входа посчитать это число по той же моей формуле, занести в глобальную переменную и потом уже брать из этой переменной, а не запускать каждый раз dlookup. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 23:30:02 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
авторпосчитать это число по той же моей формуле, занести в глобальную переменную и потом уже брать из этой переменной Саныч, я же только учусь, я еще не такой умный и не знаю, как это сделать. Можно, PLS, немного поподробнее, как это сделать. P.S. А идея - супер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 23:33:44 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
В каждой базе есть либо макрос по имени AutoExec, в котором указано, какую подпрограмму исполнять при запуске, либо форма, которая открывается первой и у которой есть OnOpen и OnLoad. Вот где-нибудь среди этого кода и пишем: nCurUser = dlookup... где nCurUser - это переменная, описанная как Integer или лучше Long. Дальше. Создаем где-нибудь функцию: public function CurUserNumber()as long CurUserNumber=nCurUser end function И в DefaultValue соответствующего текстбокса пишем: =CurUserNumber() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 23:38:23 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Все работало бы нормально, но у меня запрос с параметрами. и соответветственно строка Код: plaintext Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 16:31:22 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Хотя бы намекните, пожалуйста, в какую сторону копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 21:36:24 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Не переварит. Нужен запрос без параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 21:58:41 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
2 ВС: Спасибо. 2 Сам себе: Я озадачен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 22:06:33 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
И чем же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 22:14:31 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
авторИ чем же? Тем, что для авторизации пользователя нельзя сделать запрос без параметров - работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 22:18:09 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Так сделай для дилукапа еще один запрос. Или у тебя в базе больше одного запроса не помещается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 22:22:43 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Кстати, я-то предлагал запихивать в дилукап не запрос, а прямо таблицу. Зачем понадобился запрос, я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 22:23:43 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
Саныч , а как можно вставить Dlookup в таблицу? Впрочем, вопрос у меня не об этом, это так, вырвалось :) Вопрос вот какой: идея организовать доступ к данным на основе Login'a посещает, похоже, каждого, кто работает с многопользовательской mdb. У меня это находится на стадии идеи, соответственно, прежде чем огород городить, хотелось бы выяснить все более подробно. У меня: вход по логину, есть таблица (или таблицы) с полем ID, этот ID однозначно связан с данными о сотруднике. ID в таблицах служит индикатором доступа к данным, т.е. человек с другим ID эти данные не прочитает. Нужно: занести Login в глобальную переменную (или куда там оно может влезть) и в запросах/формах/отчетах брать этот Login (это то же самое, что и ID) для своих целей. Я так понимаю, что сначала нужно создать функцию, забирающую Login. Не подскажете ли как? (прошу прощения, если повторяюсь) И из нее, как глобальную переменную брать ID (тоже с примерчиком на пару строк, если возможно, например, для запроса). Правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 10:45:19 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
авторЕсть многопользовательская база 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. При вставке новой записи не забывай присваивать полю Доступ значение =CurrDostup() В запросах, которые выводятся на экран пишется дополнительное условие в раздел WHERE crossbit(Доступ,CurrDostup()) Будет чуть-чуть медленнее чем сейчас у тебя (если компы слабые, а запросы сами по себе сложные), но будет гибкая система настройки прав пользователей. Этой системы хватит на 8 различных типов доступа, если надо больше, то вместо byte - integer, long. Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 13:15:42 |
|
||
|
Нужна идея по организации многопользовательской mdb
|
|||
|---|---|---|---|
|
#18+
вот интересно а чем вопрошающему не понравился стандартный в Access способ раздачи прав с использованием механизма раздачи логинов-паролей из system.mdw??? тут и автоматическая формочка авторизации при запуске и currentuser() не сбрасывается при возникновении ошибки в отличие от глобальной переменной и в табличку с правами залезть-права себе поменять юзер просто так не сможет что не так со стандартной системой безопасности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 15:06:46 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32551900&tid=1673726]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
186ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 525ms |

| 0 / 0 |
