|
|
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Как программно освежить список серверных объектов в adp? дайте линк если уже обсуждали =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:00 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
обновить в окне БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:18 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
RefreshDatabaseWindow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:44 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
В 2000 не пойдет. Видимо, надо обновлять коннект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 14:00 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 17:34 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
CurrentProject.OpenConnection CurrentProject.BaseConnectionString работает, спасибо. Только он ведь при этом формы закрывает =( Как быть ? - программно запускается процедура, которая создает серверный объект - а Access-то пока не перелинкуется об его существовании не узнает ! Меня интересовало, можно ли освежить список серверных объектов без реконнекта. Ктати у меня - Access XP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 11:16 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2psl Формы закрываются только связанные с данными - и это правильно. О существовании процедуры по ее наличию в окне бд судить не надо - обращайся к ней (надеюсь ты запускаешь ее программно, а не дыблкликом) и она выполнится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 11:29 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Может быть можно все сделать без создания объектов. Какая основная задача? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 11:30 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Задача - предоставить пользователю конструктор запросов. с возможностью их сохранения, но так, чтобы внуть Accessa он не лазил (окно БД скрыто). Тут либо писать что-то свое (или использовать готовые ActiveX конструктры запросов), либо воспользоваться средствами Access, что я и попытался сделать (программно создаем новый view, а потом открываем его в режиме конструктора). Но пока... > смотри subj ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 11:59 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2psl еще раз: О существовании процедуры по ее наличию в окне бд судить не надо - обращайся к ней и она выполнится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:06 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
To Senkin Victor: попробуй программно создать на сервере view (create view [user].[MyNewView] as ...) и сразу docmd.openview MyNewView,acViewDesign, acEdit Мне он говорит, что нет такого MyNewView, т.к. не знает о его существовании до переподключения. А что формы закрываются, так енто понятно, что нормально ;) Блин...уйду на VB6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:06 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 psl Верной дорогой идёте, товарищь, в светлое будующее..... Если уж так нужно, чтобы пользователь создавал запросы - сделайте форму (с выбором таблиц, с установлением связей между ними, с фильтром и с сортировкой). Доступ к конструктору я бы не давал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:08 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Victor, ОКНА БАЗЫ ВООБЩЕ НЕТ! все программно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:10 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 Hummer: Да. Проект давно перерос Access, но это известная проблема - мигрировать от тяжелого наследия прошлого в светлое будущее ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:12 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Слушайте, а вообще можно наверное содать серверный view не через выполнение команды серверу, а средствами самого Access - ведь есть же ярлык "Создать представление в режиме конструктора" ? Как бы его "кликнуть" программно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:19 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 psl Не надо недооценивать Аксес:) Есть очень сильные системы, клиентом в которых выступает Аксес - в качестве клиента он не так плох, как кажется... Задумался - зачем пользователю конструктор запросов?:) Как правило, всё можно организовать на ХП. Или у вас пользователи совершенно чётко представляют структуру БД - для того чтобы остроить запрос на основании связки по ключевым полям? Тогда это уже не пользователи (ИМХО)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:20 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
авторДоступ к конструктору я бы не давал. Присоединяюсь. Мало того - если пользователь может создавать объекты в базе данных, значит у него права владельца базы данных - а уж "на это я пойтить не могу" Нужны другие подходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:28 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 Hummer Связок нет. Для них источник один - только как список полей (уже проведена денормализация). Но количество и сложность условий не поддается формализации. например один хочет дата='01.01.2004', а другой (дата=x and объем=y and (стоимость<=z or итого >xx and (...))) or (...) и т.д. Бывают извращенцы =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:30 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold Верно, и тогда это уже не пользователь:) Следовательно, за сохранность и надёжность информации и работы сервера администратор ответственен быть не может:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:31 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Вроде нашел. Надо создавать вьюху через метод для views collection Views.Append Name, Command ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:33 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold /значит у него права владельца базы данных / Здрасьте, чего это вдруг у него права владельца. Для того, чтобы создавать объекты базы MSSQL права dbo не обязательны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:36 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Есть другие средства: MS Query например Crystalд Report У них тоже есть построители запросов, но как внутренних объектов, а не объектов базы данных. Все равно я бы не давал менеджерам (пусть даже подготовленным) права владельца базы данных. Имхо конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:36 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 psl Т.е. источник один - это одна View или таблица? Тогда вот так можно - делаем форму, в которой можно создавать условие Where - т.е. один комбобокс со списком полей, второй с операторами (равен, не равен и прочее), третий с и или или (ну можно модифицировать), потом на основании введённой информации строим строку Where и делаем запрос с этой строкой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:44 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Ха-ха так и представляю себе ситуацию - юзер хочет посмотреть объем реализации с дополнительными условиями а ты ему - иди-ка на ...CrystalReports гыгыгыгы А по поводу создания серверных объектов эт вы погорячились с правами dbo :) читайте BOL ЗЫ Subj решен через Views.Append вопросов больше не имею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:45 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 psl Всё равно - такой подход считаю неверным. Сам бы делал так. как описал выше - тем более метод можно приминить к выборке из любой таблице или заранее написанной вью... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:47 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 Hummer В общем согласен. Но если есть готовый конструктор, и оперирует он только с вьюхой, которая принадлежит только этому пользователю (не dbo.View, а [vasya pupkin].view) то как-то влом изобретать велосипед ;) зы Всем большое спасибо за response =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:50 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Permissions CREATE VIEW permission defaults to the members of the db_owner and db_ddladmin fixed database roles. Members of the sysadmin fixed server role and the db_owner fixed database role can transfer CREATE VIEW permission to other users. To create a view, the user must have CREATE VIEW permission along with SELECT permission on the tables, views, and table-valued functions being referenced in the view, and EXECUTE permission on the scalar-valued functions being invoked in the view. Ладно пусть юзер - не владелец может создавать вьюхи, я имел ввиду другое. Создаст юзер вью без прав владельца и как эта вьюха будет называться?! user.myview И кто кроме этого юзера с ней может работать? автортак и представляю себе ситуацию - юзер хочет посмотреть объем реализации с дополнительными условиями... Все это называется анализ данных и делается анализ не с помощью создания вьюх (тем более пользовательских), а с помощью OLAP - кубов в идеале, или с помощью других средств. Например PivotTable PivotChart - это компоненты предназначенные именно для анализа данных. Разработчик создает процедуры, вью, расчетные таблицы (которые заполняются данными с помощью расчетных процедур). Дается построитель PivotTable PivotChart на эти таблицы, вью и процедуры. А юзер уже использует готовые объекты и инструментальные средства по работе с ними. Хотя каждому свое конечно. Если есть желание дать юзеру плодить серверные объекты, то пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:05 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold Абсолютно верно. Если без пивотов - то можно создавать вью и сделать интерфейс для условия where на эту вью. Но пивоты гораздо лучше и нагляднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:10 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2psl To Senkin Victor: попробуй программно создать на сервере view (create view [user].[MyNewView] as ...) и сразу docmd.openview MyNewView,acViewDesign, acEdit А я и попробовал прежде чем постить - все работает и будет работать ибо акес всего лишь отсылает серверу имя процедуры и никак ничего не проверяет - ищи косяк у себя в коде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:12 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
блин, docmd.openview ни разу за последние 2 года у меня не было такого чтобы запрос выводился напрямую юзеру - через формы/отчеты - это пжста - но напрямую... Ну что ж, psl, - ты пал жертвой дурного дизайна :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:18 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold Никому кроме юзера с ними и не надо работать. Каждый юзер должен иметь возможность иметь набор хранимых условий (и полей которые необходимы - т.е. запросов) и менять их и с ними работать (только со своими) Пивоты нагляднее, но не хранятся как объекты - т.е. если у меня есть набор стандартных (для меня) условий - каждый раз фильтровать надо заново. К тому же пивот является только эмуляцией нормальных кубов olap (не поддерживает иерархию dimensions), тормозит при создании агрегатов (я кстати даже не понял до сих пор где он их хранит?) особенно если объем данных приличный. Уточню, что от запросов требуются не агрегаты, а список элементарных транзакций - именно список - так, что пивот тут как собаке... Ближе к телу родной "Фильтр по форме", но он накладывается на уровне приложения (как и пивот кстати) и тоже тормозит =) Фактически вы правы и правильнее предоставлять кустарный конструктор, но время-деньги ;) 2 Viktor Мдя...Даже не знаю что сказать. Но теоретически механизм мне представляется таковым. При запуске Docmd.OpenView вьюха ищется в локальной копии схемы(коллекции серверных объектов) (смотри CatalogObject) и если там вьюхи нет, то что выдается ошибка. Уточню, что речи идет только о ситуации, когда вьюха создана через команду серверу (например выполнение хп) и открывается в одной процедуре. Я решил проблему путем создания вьюхи методом Views.Append который обновляет коллекцию views без переконнекта к базе (может даже сначала создает вьюху в catalog локально, а потом отправляет команду серверу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:35 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 Victor Да, может и пал. Желаю Вам не оказываться в ситуации, когда приходиться жертвовать красотой ради кривого (по Вашему мнению) паллиатива. А что Вы предлагаете ? - создавать еще одно хранилище метаданных (в смысле таблицу с текстами стандартных для юзера запросов)? - так это еще неизвестно что кривее ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:40 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
авторПивоты нагляднее, но не хранятся как объекты - т.е. если у меня есть набор стандартных (для меня) условий - каждый раз фильтровать надо заново. Для этого можно сохранять настройки пивота в XML (или в таблицу в поле ntext), а при открытии подтягивать. Я так и делаю: есть таблица юзер, имя-пивота, настройки (ntext) При любом изменении пивота юзер может нажать на кнопку сохранить настройки, или нажать на кнопку восстановить по умолчанию (хранятся для каког-нибудь системного юзера) автортормозит при создании агрегатов (я кстати даже не понял до сих пор где он их хранит?) особенно если объем данных приличный У меня не тормозит - правда везде где можно поставил ограничение на просматриваемый период, с предупреждением. К тому же пивоты у меня строятся не на "живых" таблицах, а на статических - которые заполняются по ночам джобами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:49 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold Дельно. Принимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:53 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
А что Вы предлагаете ? - создавать еще одно хранилище метаданных (в смысле таблицу с текстами стандартных для юзера запросов)? из того описания задчачи я понял что - это похоже на обычный фильтр, при необходимости можно в отдельной таблице хранить и наиболее часто используемые фильтры. Только не понимаю - зачем нужно столько запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 14:11 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
следует читать: хранить и наиболее часто используемые настройки фильтров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 14:27 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Viktor, надо не только условия, но и сильно желательно список полей =( а то там их штук двадцать. Только не надо говорить, что так много никому не надо - это реальная специфика транзакций. Еще раз спасибо за ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 15:52 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1676662]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 553ms |

| 0 / 0 |
