Нужна идея по организации многопользовательской mdb
Gyslik.
Дата: 05.06.2004 13:52:54
Может кто поможет советом?
Есть многопользовательская база mdb, у нее около пяти пользователей.
Как сделать, чтобы каждый пользователь работал только со своими данными, т.е. есть четыре оператора, и каждый работает только с теми данными, которые он набил, есть один главный оператор, у которого есть доступ ко всем данным всех четырех операторов и + он тоже может набивать данные только для себя.
Как организовать такой ввод?
Конечно есть идея сделать 5 отдельных таблиц для всех пяти операторов и потом все данные сливать в одну общую таблицу, но наверно это как-то глупо.
Например завтра появится шестой оператор и что, ему еще одну таблицу заводить надо будет?
Как сделать, чтобы каждый оператор работал только со своими данными?
Shuhard
Дата: 05.06.2004 14:01:13
ну и сделай ключ в таблице ID оператора
а чтобы не лезли через таблицы - mde и убери окна базы
Shift я бы оставил если оператор умный против него нет приема
Omar_K
Дата: 05.06.2004 14:16:14
У меня тоже такая есть необходимость есть 5 юзеров они заводят в форму данные которые потом инсертятся в общую таблицу правда ключ юзера не нужен мне. Вопрос такой
на кнопку я вешаю
CurrentDB.Execute Insert......Me!Combo
так вот если допустим mde будет лежать где-нить в сетевой папке и они все одновременно открывают этот файл и вводят данные. Могу ли я быть уверенным что после отработки процедуры онклик все записи нормально заинтесртятся, то есть не будет там всяких конфликтов
Shuhard
Дата: 05.06.2004 14:21:26
| | автор |
| | то есть не будет там всяких конфликтов
|
зависит от устройства ключа в этой таблице ксли счетчик то OK
проблема будет когда оператору надо понять где на экране(списке) то что ввел он , а где сосед
Omar_K
Дата: 05.06.2004 14:31:08
Ключ у меня счетчик, тогда может добавить таблицу юзеров ID Name например и добавить в главной таблице поле IDOperator.А форме комбо с фамилиями юзеров? Но тогда он может выбрать соседа и под ним забивать? есть ли в Аксе какой нибудь инструмент который бы инсертил бы код оператора(именно того под каким логином он зашел в базу) в таблицу, и еще как вобще можно сделать авторизацию юзеров в плане при запуске приложения выскакивает бокс с двумя полями логин и пароль?
Gyslik.
Дата: 05.06.2004 15:29:01
2 Shuhard:
| | автор |
| | ну и сделай ключ в таблице ID оператора |
Т.е. сделать пять ключевых полей, по ключевому полю на каждого оператора?
Или я неправильно понял?
Shuhard
Дата: 05.06.2004 15:37:47
| | автор |
| | Т.е. сделать пять ключевых полей, по ключевому полю на каждого оператора? Или я неправильно понял?
|
одно(1,ОДЫН ДА) дополнительное поле содержащие Id оператора
+ табличка соответствия Id оператора его Nickу
соответственно запросы на выборку несут в where ... Id=Id_конкретного оператора
Shuhard
Дата: 05.06.2004 15:43:08
То Omar_K
| | автор |
| | А форме комбо с фамилиями юзеров? Но тогда он может выбрать соседа и под ним забивать
|
способов много если проект mdb+mdb
то я кидаю на каждой машине поглубже в windows\system32 mdbу c 1 таблицей одним полем - Id оператора
если вопросу ДСП и коммерческой тайны то деоай стандартную как минимум защиту и привязывайся к User в Access(см конфа+фаги)
авторизовать можно своими средствами но лучше встроенными в Access
(сам использую в таких случаях Sql 2000 и знания по mdb гипотетические)
Gyslik.
Дата: 05.06.2004 23:10:43
Хорошо, у меня в моих данных есть поле №пользователя (т.е. для каждого поля, занесенного пользователем есть числовое поле №пользователя), есть талбица соответствия №пользователя и имени_пользователя, сделал форму для ввода №пользователя и имени_пользователя, а как теперь сделать, чтобы у пользователя при вводе данных для каждой записи автоматически заносился в таблицу номер, который он ввел первоначально в поле №пользователя?
Как?
Владимир Саныч
Дата: 05.06.2004 23:17:21
Не знаю, сработает ли как DefaultValue; если нет, то через BeforeInsert:
dlookup("№пользователя","талбица","имяпользователя='" & currentuser() & "'")