Страница: 1 |
Страница: 1 |
Вопрос: как получить список отчетое бд с description-ами?
Добавлено: 18.09.04 16:09
Автор вопроса: Shota
Подскажите как програмно получить список отчетов (либо форм) базы данных С DESCRIPTION-ами ?
т.е. Если в окне базы нажать View/Details то окно базы примет вид таблицы:
[name][description][modified].....
список [name] можно получить легко а вот как получить еще и список [description]?
p.s. [description] можно прописать зайдя в properties конкретной формы ( отчета )
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 19.09.04 13:30
В объектной можели ADO для MS Access (Office XP) есть свойство Description у объектов Table, QueryDef, Field.
Подробности - в справочной системе "Задание свойств объектов ADO (ActiveX Data Objects) в Visual Basic".
Возможно, что у тебя не получается из-за того, что надо в Refrences подключить библиотеку Access
Номер ответа: 2
Автор ответа:
Shota
Вопросов: 22
Ответов: 52
Профиль | | #2
Добавлено: 20.09.04 11:46
Как я понимаю, ADO - для работы с данными ( таблицы, запросы ) а никак не для форм и отчетов... а ссылка на ADO стоит, ( я програмно, используя ADO заполняю списки, и поля со списками в этой базе )
Кстати я пробовал поискать этот [Description] в системных таблицах: есть такая таблица (MSysObjects) там прописаны дата создания, изменения, наименование....... но вот злополучного [Description]-а никак нет
пробовал так-же через коллекцию CurrentProject.AllReports но там тоже не поддерживается [Description]
Номер ответа: 3
Автор ответа:
Shota
Вопросов: 22
Ответов: 52
Профиль | | #3
Добавлено: 20.09.04 11:57
Объясню зачем мне это надо ( может кому и понравится идея )
Я разрабатываю бд, а брат юзает...
так вот, структуру, формы делаю я
а он, по мере надобности, создает отчеты.
Идея такая, чтоб я для каждого, вновь созданного отчета, не делал кнопку на "Главной кнопочной форме", я там помещаю ListBox в котором надо вывести все отчеты, ListBox имеет 2 поля, одно ( скрытое, на английском ) с наименованием отчета, другое с понятным для юзера наименованием.
( например: rSaleByMonth; Продажи по месяцам )
Хотелось бы сделать так:
Юзер создает отчет, называет его по английски, и прописывает его [description] на русском, у меня же в ListBox-е запрашиваются имена и [description]-ы всех отчетов, Пользователь видит только [description], а открытие отчета идет по его [Name]
Вот собственно и вся идея..........
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 22.09.04 14:53
Таблицы, формы, отчеты и т.п. это те же данные, только сохраненные в базе Jet в системной таблице. Доступ к ней (а значит ко всем названиям таблиц, запросов, форм и соответственно к их свойствам Description) идет как к данным, только данным несколько специфическим. Ты справку Office "Задание свойств объектов ADO (ActiveX Data Objects) в Visual Basic" зря не читал, там, возможно, и пример имеется. А вообще, идея использовать Description в качестве альтернативного русского названия - хорошая идея.
В ADO с помощью библиотеки ADOX:
Dim tb As ADOX.Table
'В коллекции Tables
Попробуй в Access обратиться к tb.Description, не забыв про Set tb = ...
Номер ответа: 5
Автор ответа:
Shota
Вопросов: 22
Ответов: 52
Профиль | | #5
Добавлено: 23.09.04 17:54
"Задание свойств объектов ADO (ActiveX Data Objects) в Visual Basic"
прочту обязательно......
а пока:
Я нашел где сохраняет Access этот [Description]
в скрытой системной таблице [MSysObjects]
в поле [LvProp]
с типом [OLE]
я побайтно считал данные этого поля и нашел свой [Description], но это, "не есть хорошо"..............
Номер ответа: 6
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #6
Добавлено: 24.09.04 10:51
У меня примерчик дома в книжке имеется по работе с системной таблицей, книжка по программированию на VBA в Acces (XP). Если в состоянии подождать до завтра, я напечатаю тебе здесь этот код.
Номер ответа: 7
Автор ответа:
Shota
Вопросов: 22
Ответов: 52
Профиль | | #7
Добавлено: 29.09.04 13:26
Если в состоянии подождать до завтра, я напечатаю тебе здесь этот код. ...........
Но ни завтра, ни послезавтра, лягушкины утки не прилетели..............