powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно освежить список серверных объектов в adp
37 сообщений из 37, показаны все 2 страниц
Как программно освежить список серверных объектов в adp
    #32406991
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
Как программно освежить список серверных объектов в adp?
дайте линк если уже обсуждали =)
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32407036
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обновить в окне БД?
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32407094
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RefreshDatabaseWindow
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32407135
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2000 не пойдет. Видимо, надо обновлять коннект.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32407554
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
CurrentProject.OpenConnection CurrentProject.BaseConnectionString
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408241
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
CurrentProject.OpenConnection CurrentProject.BaseConnectionString
работает, спасибо.
Только он ведь при этом формы закрывает =(
Как быть ? - программно запускается процедура, которая создает серверный объект - а Access-то пока не перелинкуется об его существовании не узнает !
Меня интересовало, можно ли освежить список серверных объектов без реконнекта. Ктати у меня - Access XP.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408285
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2psl

Формы закрываются только связанные с данными - и это правильно.
О существовании процедуры по ее наличию в окне бд судить не надо - обращайся к ней (надеюсь ты запускаешь ее программно, а не дыблкликом) и она выполнится
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408289
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть можно все сделать без создания объектов.
Какая основная задача?
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408371
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
Задача - предоставить пользователю конструктор запросов. с возможностью их сохранения, но так, чтобы внуть Accessa он не лазил (окно БД скрыто). Тут либо писать что-то свое (или использовать готовые ActiveX конструктры запросов), либо воспользоваться средствами Access, что я и попытался сделать (программно создаем новый view, а потом открываем его в режиме конструктора). Но пока... > смотри subj ;(
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408390
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2psl
еще раз:
О существовании процедуры по ее наличию в окне бд судить не надо - обращайся к ней и она выполнится
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408393
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
To Senkin Victor: попробуй программно создать на сервере view (create view
[user].[MyNewView] as ...) и сразу docmd.openview MyNewView,acViewDesign, acEdit

Мне он говорит, что нет такого MyNewView, т.к. не знает о его существовании до переподключения.

А что формы закрываются, так енто понятно, что нормально ;)

Блин...уйду на VB6
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408399
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 psl
Верной дорогой идёте, товарищь, в светлое будующее.....
Если уж так нужно, чтобы пользователь создавал запросы - сделайте форму (с выбором таблиц, с установлением связей между ними, с фильтром и с сортировкой). Доступ к конструктору я бы не давал.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408406
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
Victor, ОКНА БАЗЫ ВООБЩЕ НЕТ! все программно
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408418
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
2 Hummer:
Да. Проект давно перерос Access, но это известная проблема - мигрировать от тяжелого наследия прошлого в светлое будущее )
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408435
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
Слушайте, а вообще можно наверное содать серверный view не через выполнение команды серверу, а средствами самого Access - ведь есть же ярлык "Создать представление в режиме конструктора" ?
Как бы его "кликнуть" программно ?
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408441
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 psl
Не надо недооценивать Аксес:) Есть очень сильные системы, клиентом в которых выступает Аксес - в качестве клиента он не так плох, как кажется...
Задумался - зачем пользователю конструктор запросов?:)
Как правило, всё можно организовать на ХП. Или у вас пользователи совершенно чётко представляют структуру БД - для того чтобы остроить запрос на основании связки по ключевым полям? Тогда это уже не пользователи (ИМХО)...
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408459
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДоступ к конструктору я бы не давал.

Присоединяюсь.
Мало того - если пользователь может создавать объекты в базе данных, значит у него права владельца базы данных - а уж "на это я пойтить не могу"

Нужны другие подходы.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408470
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
2 Hummer
Связок нет. Для них источник один - только как список полей (уже проведена денормализация). Но количество и сложность условий не поддается формализации.
например один хочет дата='01.01.2004', а другой
(дата=x and объем=y and (стоимость<=z or итого >xx and (...))) or (...) и т.д.
Бывают извращенцы =)
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408471
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 incold
Верно, и тогда это уже не пользователь:) Следовательно, за сохранность и надёжность информации и работы сервера администратор ответственен быть не может:)
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408480
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
Вроде нашел.
Надо создавать вьюху через метод для views collection

Views.Append Name, Command
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408495
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
2 incold /значит у него права владельца базы данных /
Здрасьте, чего это вдруг у него права владельца. Для того, чтобы создавать объекты базы MSSQL права dbo не обязательны
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408496
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть другие средства:

MS Query например
Crystalд Report

У них тоже есть построители запросов, но как внутренних объектов, а не объектов базы данных.

Все равно я бы не давал менеджерам (пусть даже подготовленным) права владельца базы данных. Имхо конечно.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408516
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 psl
Т.е. источник один - это одна View или таблица?
Тогда вот так можно - делаем форму, в которой можно создавать условие Where - т.е. один комбобокс со списком полей, второй с операторами (равен, не равен и прочее), третий с и или или (ну можно модифицировать), потом на основании введённой информации строим строку Where и делаем запрос с этой строкой...
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408519
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
Ха-ха
так и представляю себе ситуацию - юзер хочет посмотреть объем реализации с дополнительными условиями а ты ему - иди-ка на ...CrystalReports
гыгыгыгы

А по поводу создания серверных объектов эт вы погорячились с правами dbo :)
читайте BOL

ЗЫ
Subj решен через Views.Append
вопросов больше не имею
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408524
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 psl
Всё равно - такой подход считаю неверным. Сам бы делал так. как описал выше - тем более метод можно приминить к выборке из любой таблице или заранее написанной вью...
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408528
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
2 Hummer
В общем согласен. Но если есть готовый конструктор, и оперирует он только с вьюхой, которая принадлежит только этому пользователю (не dbo.View, а [vasya pupkin].view) то как-то влом изобретать велосипед ;)

зы
Всем большое спасибо за response =)
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408569
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 на эти таблицы, вью и процедуры.
А юзер уже использует готовые объекты и инструментальные средства по работе с ними.

Хотя каждому свое конечно. Если есть желание дать юзеру плодить серверные объекты, то пожалуйста.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408589
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 incold
Абсолютно верно.
Если без пивотов - то можно создавать вью и сделать интерфейс для условия where на эту вью.
Но пивоты гораздо лучше и нагляднее.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408594
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2psl

To Senkin Victor: попробуй программно создать на сервере view (create view
[user].[MyNewView] as ...) и сразу docmd.openview MyNewView,acViewDesign, acEdit

А я и попробовал прежде чем постить - все работает и будет работать ибо акес всего лишь отсылает серверу имя процедуры и никак ничего не проверяет - ищи косяк у себя в коде
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408610
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, docmd.openview
ни разу за последние 2 года у меня не было такого чтобы запрос выводился напрямую юзеру - через формы/отчеты - это пжста - но напрямую...
Ну что ж, psl, - ты пал жертвой дурного дизайна :(
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408645
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
2 incold
Никому кроме юзера с ними и не надо работать. Каждый юзер должен иметь возможность иметь набор хранимых условий (и полей которые необходимы - т.е. запросов) и менять их и с ними работать (только со своими)
Пивоты нагляднее, но не хранятся как объекты - т.е. если у меня есть набор стандартных (для меня) условий - каждый раз фильтровать надо заново.
К тому же пивот является только эмуляцией нормальных кубов olap (не поддерживает иерархию dimensions), тормозит при создании агрегатов (я кстати даже не понял до сих пор где он их хранит?) особенно если объем данных приличный. Уточню, что от запросов требуются не агрегаты, а список элементарных транзакций - именно список - так, что пивот тут как собаке...
Ближе к телу родной "Фильтр по форме", но он накладывается на уровне приложения (как и пивот кстати) и тоже тормозит =)
Фактически вы правы и правильнее предоставлять кустарный конструктор, но время-деньги ;)
2 Viktor
Мдя...Даже не знаю что сказать.
Но теоретически механизм мне представляется таковым.
При запуске Docmd.OpenView вьюха ищется в локальной копии схемы(коллекции серверных объектов) (смотри CatalogObject)
и если там вьюхи нет, то что выдается ошибка.
Уточню, что речи идет только о ситуации, когда вьюха создана через команду серверу (например выполнение хп) и открывается в одной процедуре.
Я решил проблему путем создания вьюхи методом Views.Append который обновляет коллекцию views без переконнекта к базе (может даже сначала создает вьюху в catalog локально, а потом отправляет команду серверу)
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408655
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
2 Victor
Да, может и пал. Желаю Вам не оказываться в ситуации, когда приходиться жертвовать красотой ради кривого (по Вашему мнению) паллиатива. А что Вы предлагаете ? - создавать еще одно хранилище метаданных (в смысле таблицу с текстами стандартных для юзера запросов)? - так это еще неизвестно что кривее !
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408668
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПивоты нагляднее, но не хранятся как объекты - т.е. если у меня есть набор стандартных (для меня) условий - каждый раз фильтровать надо заново.

Для этого можно сохранять настройки пивота в XML (или в таблицу в поле ntext), а при открытии подтягивать.
Я так и делаю:
есть таблица юзер, имя-пивота, настройки (ntext)
При любом изменении пивота юзер может нажать на кнопку сохранить настройки, или нажать на кнопку восстановить по умолчанию (хранятся для каког-нибудь системного юзера)

автортормозит при создании агрегатов (я кстати даже не понял до сих пор где он их хранит?) особенно если объем данных приличный

У меня не тормозит - правда везде где можно поставил ограничение на просматриваемый период, с предупреждением. К тому же пивоты у меня строятся не на "живых" таблицах, а на статических - которые заполняются по ночам джобами.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408681
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
2 incold
Дельно. Принимаю.
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408722
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что Вы предлагаете ? - создавать еще одно хранилище метаданных (в смысле таблицу с текстами стандартных для юзера запросов)?

из того описания задчачи я понял что - это похоже на обычный фильтр, при необходимости можно в отдельной таблице хранить и наиболее часто используемые фильтры. Только не понимаю - зачем нужно столько запросов?
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408771
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
следует читать:
хранить и наиболее часто используемые настройки фильтров
...
Рейтинг: 0 / 0
Как программно освежить список серверных объектов в adp
    #32408961
psl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
psl
Гость
Viktor, надо не только условия, но и сильно желательно список полей =(
а то там их штук двадцать. Только не надо говорить, что так много никому не надо - это реальная специфика транзакций.
Еще раз спасибо за ответ.
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно освежить список серверных объектов в adp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]