Получение данных из Access

20.11.08

Интеграция - Внешние источники данных

Собствено опять даю пример затягивания таблицы из внешних данных, теперь немного другой :)
//
// Функция получает таблицу из базы аксесса
//
Функция ПолучитьТаблицуАкцесса (Подключение, ИмяТаблици)
	Результат = СоздатьОбъект("ТаблицаЗначений");
	Результат.Очистить();

	Команда = СоздатьОбъект("ADODB.Command");
	Команда.ActiveConnection=Подключение;
	ТекстСелект = "SELECT * FROM " +  ИмяТаблици;
	НаборЗаписей = СоздатьОбъект("ADODB.RecordSet");
	Команда.CommandText=ТекстСелект;
	Попытка
		НаборЗаписей=Команда.Execute();
	Исключение
		Сообщить(ОписаниеОшибки());
		Возврат -1;
	КонецПопытки;
	
	// надо создать колонки
	Для е = 0 по (НаборЗаписей.Fields.Count - 1) Цикл 
		Результат.НоваяКолонка(СокрЛП(НаборЗаписей.Fields(е).Name));
	КонецЦикла;
	
	Попытка
		НаборЗаписей.MoveFirst();
	Исключение //нет записей в рекордсете
		НаборЗаписей.Close();
		Возврат Результат;
	КонецПопытки;
	
	НаборЗаписей.MoveFirst();
	Пока НаборЗаписей.EOF() = 0 Цикл
		// тут имеем строку записи
		//ОбработкаПрерыванияПользователя();  
		Состояние("Идет чтение таблицы <" + ИмяТаблици + "> - " + Обмен_Индикатор(Счетчик, МаксСчетчик));

		Результат.НоваяСтрока();
		Стр = "";
		Для е = 0 по (НаборЗаписей.Fields.Count - 1) Цикл 
			Результат.УстановитьЗначение(Результат.КоличествоСтрок(), СокрЛП(НаборЗаписей.Fields(е).Name), НаборЗаписей.Fields(е).Value);
			Если ВыводитьДанныеВСтрокуСообщений=1 Тогда
				Стр = Стр + "; " + НаборЗаписей.Fields(е).Name + "=" + НаборЗаписей.Fields(е).Value;
			КонецЕсли;
		КонецЦикла;
		
		Если ВыводитьДанныеВСтрокуСообщений=1 Тогда
			Сообщить (Стр);
		КонецЕсли;
				
		НаборЗаписей.MoveNext();
	КонецЦикла;
			 
	НаборЗаписей.Close();
	
	Возврат Результат;
КонецФункции

// *******************************
// пример вызова
//


//
// подключаемся
//
СтрокаПод="Driver={Microsoft Access Driver (*.mdb)};Dbq=" + ИмяФайла + ";";
Акцесс = СоздатьОбъект("ADODB.CONNECTION");
Попытка
	Акцесс.Open(СтрокаПод);
Исключение
	Сообщить(ОписаниеОшибки());
	Возврат;
КонецПопытки;

//
// получем таблицу с именем "Номенклатура"
//
ТабСпр = ПолучитьТаблицуАкцесса (Акцесс, """Номенклатура""");



Вступайте в нашу телеграмм-группу Инфостарт

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    30434    42    49    

46

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

122000 руб.

19.08.2020    29097    27    3    

28

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (Базовая, ПРОФ, КОРП, ФРЕШ (тонкий клиент)).

17080 руб.

19.12.2016    53454    120    107    

83

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

05.10.2022    13034    14    8    

16

Внешние источники данных Программист Бизнес-аналитик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL, в шину данных с поддержкой REST API (CSV, JSON. SQL), в локальные файлы (CSV, JSON, XLS, XLSX) или в Google Sheets. Это дополнительная подключаемая обработка.

18000 руб.

21.08.2024    8236    21    4    

18

Внешние источники данных Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Быстро и легко. Выгрузка всех элементов и групп номенклатуры (с их иерархией), кроме помеченных на удаление. Без использования COM-объектов.

4880 руб.

16.08.2023    3730    7    8    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. europro 21.11.08 23:00 Сейчас в теме
еще бы комментарий к каждому функциональному блоку
2. vde69 937 21.11.08 23:26 Сейчас в теме
чуток закоментил, но вроде и так все прозрачно
3. GSoft 2384 21.11.08 23:40 Сейчас в теме
сделай комментарий более подробным
исходи из того что ее смотрят первоклассники)))
4. RailMen 832 14.12.08 00:48 Сейчас в теме
люблю когда код в студии
5. greenzmo1 07.08.09 12:07 Сейчас в теме
А есть нечто похожее для 8-ки?
6. vde69 937 07.08.09 13:01 Сейчас в теме
(5) заменить "СоздатьОбъект" и учеть возврат булева "Пока не НаборЗаписей.EOF() Цикл"

и будет работать
Kolyasik; Jivchic; +2 Ответить
7. Arcanist 21.09.09 16:14 Сейчас в теме
СтрокаТаблици, СтрокаПод - офигенные названия переменных...
8. Jivchic 95 14.07.10 09:59 Сейчас в теме
заменить "СоздатьОбъект" и учеть возврат булева "Пока не НаборЗаписей.EOF() Цикл"


можно подробнее, СоздатьОбъект заменил на Новый COMОбъект("ADODB. ")...

но что то неполучается...
9. Jivchic 95 15.07.10 10:57 Сейчас в теме
10. FindSS 27.09.10 20:29 Сейчас в теме
Вышеприведенный код вполне ясен. Проблема в том, что не могу найти как получить программно все наименования таблиц в базе Акцесса.
12. andrei.k 10.06.12 13:56 Сейчас в теме
Спасибо, все понятно. Очень пригодится. Присоединяюсь к (10), не плохо бы получить список всех таблиц.
11. genadyichnew 21.01.12 14:29 Сейчас в теме
13. pyrkin_vanya 504 08.02.16 12:53 Сейчас в теме
У меня в файле несколько таблиц. Как получить имени этих таблиц?
15. pyrkin_vanya 504 08.02.16 20:42 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация