Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Копирование баз Access

6
25 июня 2007 года
George
4.1K / / 05.01.2007
У меня такая ситуация. Есть планировщик. Записи хранятся в базе Access. Предполагается использование этого планировщика несколькими людьми. Получается вот что:
Один чевак открывает планировщик, видит, что то-то он сделал, ставит галочки, в базу напротив этой записи в поле Done ставится 1. Значит другой чувак, открыв этот планировщик эту запись уже не увидит. Как сделать, чтобы пользоваться могло несколько человек? Может быть, когда кто-то создаёт учётную запись, можно скопировать имеющуюся базу данных, назвать её именем данной учётной записи - т.е. для каждой учётной записи будет одноимённая база данных - личная?
303
26 июня 2007 года
makbeth
1.0K / / 25.11.2004
Цитата: Washington
Значит другой чувак, открыв этот планировщик эту запись уже не увидит. Как сделать, чтобы пользоваться могло несколько человек?


Такое чувство, что ты сам себя запутал :) Планировщик кто пишет? Ты, или кто-то другой?

Цитата: Washington
Может быть, когда кто-то создаёт учётную запись, можно скопировать имеющуюся базу данных, назвать её именем данной учётной записи - т.е. для каждой учётной записи будет одноимённая база данных - личная?


Зачем такие сложности? Не проще ли добавить в таблицу еще одно поле, которое будет идентифицировать принадлежность конкретной записи конкретному пользователю. Можно предусмотреть значение для этого поля, указывающее что поле принадлежит всем пользователям. Все остальное разруливается SQL запросами. Естественно, программа должна "знать", какой пользователь работает с ней в данный момент...
Вот как то так... или я сам чего-то недопонял :)

6
27 июня 2007 года
George
4.1K / / 05.01.2007
Нет, планировщик то я пишу, но пользоваться им будут другие люди. А насчёт создания полей, если можно подскажи, как их создавать. Мне эта идея тоже приходила, но как-то я её не осилил. А так вроде ты меня вполне правильно понял.
10
27 июня 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: Washington
Может быть, когда кто-то создаёт учётную запись, можно скопировать имеющуюся базу данных, назвать её именем данной учётной записи - т.е. для каждой учётной записи будет одноимённая база данных - личная?


С реляционной точки зрения лучше будет создать ещё одну таблицу, хранящую привязки заданий пользователям. В ней и ставить галочки.

303
28 июня 2007 года
makbeth
1.0K / / 25.11.2004
Washington, здесь все элементарно: создай еще одну таблицу "Пользователи" (например: UserId, Name). Она будет содержать список пользователей. Далее все зависит от логики работы планировщика:
1. Для каждого пользователя индивидуальные задания.
Добавь в таблицу заданий поле UserId, которое будет внешним ключом для связи с таблицей "Пользователи" и будет характеризовать, для какого пользователя данное задание.
2. Задания являются одинаковыми для всех пользователей (это вариант Freeman).
Создай еще одну таблицу (статус выполнения задания для пользователей), которая будет содержать, как минимум, 3 поля - TaskId, UserId и признак выполнения задания (из таблицы заданий его нужно будет удалить). Логически, записи данной таблицы будут содержать следующую информацию: Пользователь UserId (из таблицы "Пользователи") выполнил/не выполнил (признак выполнения) задание TaskId (из таблицы "Задания") Итого получается 3 таблицы.

...Немного сумбурно получилось, но, надеюсь разберешся :)
ЗЫ: Вообще, почитай какую нибудь книжку по реляционным базам данных - таких вопросов больше не возникнет ;)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог