#0
by Eldorado
Мне нужно получить из Access данные. Но так как заранее структура БД не известна, то я так понимаю нужно узнать имена всех таблиц в БД, а потом уже сязываться с ними по имени.Возможно есть другие методы...Не знаю... Вообщем как получить этот список имен? Спасибо заранее.
#3
by Николай из Ступино
Перем Access, БД, ТаблицыБД, Сч, ТаблицаБД, ИмяТаблицыБД; Access = СоздатьОбъект ("Access.Application"); Access.Visible = 1; Access.OpenCurrentDatabase ("C:New.mdb"); БД = Access.CurrentDb ; ТаблицыБД = СоздатьОбъект ("СписокЗначений"); Для Сч = 0 По БД.TableDefs.Count - 1 Цикл ТаблицаБД = БД.TableDefs.Item (Сч); ИмяТаблицыБД = ТаблицаБД.Name; Если Найти (ИмяТаблицыБД, "MSys") > 0 Тогда Продолжить; КонецЕсли; // Найти (ИмяТаблицы, "MSys") > 0 ТаблицыБД.ДобавитьЗначение (ИмяТаблицыБД); Сообщить (ИмяТаблицыБД); КонецЦикла; Eldorado, проверял - работает. Удачи !
#4
by Николай из Ступино
Eldorado, если есть вопросы насчёт доступа к записям таблиц, выкладывай. Чем смогу - помогу.
#5
by Eldorado
Спасибо Николай из Ступино за пример.Но мне показалось это немного медленно.И еще Access открывается.А вот через ADO никак нельзя сделать?
#6
by Николай из Ступино
Eldorado, надо по сусекам памяти порыться. Давно уже ADO не пользовался, в основном DAO. Подожди, что-нибудь придумаем.
#7
by Asmody
adox=СоздатьОбъект("ADOX.Catalog"); adox.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+FileName; ВсегоТаблиц=adox.Tables.Count; Для ии=0 По ВсегоТаблиц-1 Цикл Сообщить(""+adox.Tables(ии).Name); КонецЦикла;
#8
by Eldorado
Спасибо Asmody, вроде имена получить можно.Только вот помимо созданных мною таблиц еще вот такие.Это нормально или как? MSysAccessObjects MSysAccessXML MSysACEs MSysObjects MSysQueries MSysRelationships
#9
by Николай из Ступино
Это системные таблицы. adox=СоздатьОбъект("ADOX.Catalog"); adox.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+FileName; ВсегоТаблиц=adox.Tables.Count; Для ии=0 По ВсегоТаблиц-1 Цикл ИмяТаблицы = adox.Tables(ии).Name;; Если Найти (ИмяТаблицы, "MSys") > 0 Тогда Продолжить; КонецЕсли; Сообщить(""+ИмяТаблицы); КонецЦикла;
#13
by Asmody
ясен перец. это ответ на . т.е. эти таблицы в БД есть, но их дефолтом не видно. кста, можно еще запрос сделать типа: SELECT Name, Type FROM MSysObjects WHERE Type=1 тоже выдаст имена всех таблиц
#14
by Eldorado
Спасибо всем за помощь.И еще один вопрос. Может не по теме..Просто не хотелось отдельно тему создавать.Чтоб с Access-ом работать, что кроме 1С должно быть на компе: cам Access , может какие библиотеки, модули и т.д. ?
#15
by Asmody
Чтоб с Access-ом работать Access должен быть, ясен перец. А вот чтобы с mdb-файлами - не обязательно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Получение обновления
- Получение почты
- 8-ка, получение значения из списка значений, по Строковому представлению
- получение из одного материала двух видов продукции 1С
- Как получить имена таблиц и полей в SQL по их именам в метаданных?
- 8.2 Условное оформление списка в форме списка справочника
- Получение почты: получение только непрочитанных сообщений?
- Получение имен таблиц из объекта ADODB.Connection
- v7: Получение заголовка колонки таблицы формы списка справочника
- Управляемые формы: получение списка выделенных элементов
- Получение данных динамического списка.
В этой группе 1С
- ФИО в родительном падеже нужно сформировать
- Как сокращать инициалы сотрудник
- свой префикс для каждой фирмы. Можно ли ?
- Обмен данными через OLE. Объект "Перечисление"
- Поиск на форуме
- Выполнить движение регистра по текстовому идентификатору
- При возврате значения в объект поле ввода появляется окно
- Про прямые запросы 1с++
- OPOS/ATOL дрова для ККМ Datecs FP3530T
- 1С + SQL запросы (оптимизация)
- V7 подскажите как сделать расшифровку в отчете, смотрю в типовой и не поним
- Загрузка выписки казначейства
- ЗиК: Расчитывать зарплату
- Как в 1с программно создать архив zip?
- Как развернуть внутреннее окно 1С 7-ки на весь экран без мыши
- Под штрих-кодом катушка индуктивности! А может и чип есть?
- Куда исчезла строка "Закрытие счета 20" из документа "Закрытие месяца"?
- Как заставить форму...(1с 7.7)
- Загрузка курсов валюты с РБК, НЕ ПОНЯЛ ЮМОРА!!!!
- Как активизировать открытый файл Екселя из 1С (1С-EXCELL-1С-EXCELL)