
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
19.01.2004, 10:09
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
Уважаемые гуру! Подскажите пожалуйста, как правильно реализовать на А97 многопользовательскую базу. Ясно что нужно разделить mdb-данные и mdb- интерфейс. А как сделать удобной работу с выборкой по любым условиям на основе встроееных справочников? (есть данные, есть их привязка к табл-справочникам, юзер хочет отчет: -по всему справочнику - без проблем, -по выбранной ветке - достаточно Where по условию в списке --а как по нескоольким выбранным? напрашивается вариант с временной таблицей в mdb-интерфейсе каждого клиента, в которой юзер поставит галки по нужным ему разделам - и фильтр готов тогда как быть с пунктом "все?" выставлять все галки программно? или переписывть исходник запроса - с join и без? кроме того при каждом обновлении справочника нужно следить чтобы он обновлялся и на клиенте? кто сталкивался, какие еще проблемы были, как решали? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2004, 11:27
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
Примерно так: Делаешь таблицы настроек. Поля: юзернейм (можно не делать, если будет локально, или привязать к имени машины) / раздел справочника / показ (логический) Юзеру даешь формочку с галочками, где он может извращаться. А запрос джойнит справочники с таблицами настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2004, 14:00
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
С этим понятно не понятно как лучше сделать обновление "интерфейсных справочников" (локально лежащих у каждого юзера) так чтобы они соответствовали основным данным... залез юзер в справочник основной, поменял что-то полез в локальный фильр - а там новых данных нет!!! Что делать? Неужели так мало кто мультиюзер делал?........... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2004, 16:55
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
и тишина.... или неправильно вопрос задаю или все в однопользователях сидят или не нужны сложные выборки а только "1" или "всё"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2004, 17:50
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
Видимо, никому неохота такого геморроя, как разбираться со справочниками на каждом локальном компе. Если скорость позволяет - можно хранить все в одной базе, если же нет - добро пожаловать на "клиент-сервер". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2004, 17:58
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
Уважаемый AlexJuice !!!! Тогда подскажите пожалуйста как это грамотно реализовать на "серверной" стороне самой базы?... Никак не пойму структуру связи таблицы с полями юзер+галка с таблицами-справочниками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2004, 18:08
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
Поскольку структуру не знаю, расскажу на примере (упрощенном) своей. Допустим, есть справочник товаров (Tovar) и справочник отделов (Tree). Есть также промежуточная таблица, реализующая связь "многие-ко-многим" (tree_link), а также таблица настроек юзеров (user_tree: юзер / отдел / галка (показывать-не показывать)). В справочнике есть подчиненная форма, где юзер может тыкать в эти самые галки. При этом справочник товаров обновляется. А показываемые юзеру товары берутся из джойна таблиц: ...FROM dbo.Tovar t INNER JOIN (SELECT DISTINCT dbo.tree_link.idt FROM dbo.tree_link INNER JOIN dbo.user_tree ON dbo.tree_link.idtree = dbo.user_tree.id_tree AND dbo.user_tree.mark = 1 AND dbo.user_tree.uid = SUSER_SNAME()) l ON t.idt = l.idt Как определять текущего юзера - об этом недавно говорили. Можно еще определять по сетевому имени компа (узнается через API). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.01.2004, 10:59
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
Ага, спасибо! То есть user_tree связана с tree по полю ОТДЕЛ и если юзер жмакнет по галке в user_tree он автоматом добавит в эту таблицу запись вида username отдел галка А как это реализовано? отдел добавится сам благодаря связи, имя юзера получить могу, а добавить-то его как?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.01.2004, 14:50
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
Ну примерно так (если предположить, что поле mark имеет по дефолту 0): INSERT INTO user_tree (uid, tree) SELECT CURRENT_USER, idtree FROM Tree Это можно делать при заведении нового юзера. (опять же повторю, что функция определения юзера здесь условна) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.01.2004, 14:51
|
|||
|---|---|---|---|
многопользовательские базы |
|||
|
#18+
ЗЫ. А при жмаканьи по галкам, соответственно, таблица будет обновляться, и добавлять ничего не потребуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1677110]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
211ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 519ms |

| 0 / 0 |
