Получение данных из 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С v8.3 Управляемые формы Анализ и прогнозирование 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

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

28500 руб.

15.11.2022    22683    23    49    

39

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

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

120000 руб.

19.08.2020    26308    25    1    

28

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

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

84000 руб.

24.04.2017    52570    104    165    

91

Внешние источники данных Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Готовая интеграция для управляемых форм. Встраивается в вашу 1С как расширение. Реализует автоматический обмен данными между 1С (1С:Фитнес клуб и аналогов) и СКУД RusGuard, автоматизирует бизнес-процессы по созданию и учету сотрудников в СКУД. Значительно упрощает работу специалистов отдела кадров и отдела безопасности: избавляет от двойного ввода информации в 1С и СКУД.

94999 руб.

11.07.2024    1276    1    0    

3

Зарплата Внешние источники данных Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

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

120000 руб.

07.06.2021    13696    2    3    

3

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

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

13200 руб.

19.12.2016    48572    97    106    

70
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. europro 21.11.08 23:00 Сейчас в теме
еще бы комментарий к каждому функциональному блоку
2. vde69 925 21.11.08 23:26 Сейчас в теме
чуток закоментил, но вроде и так все прозрачно
3. GSoft 2237 21.11.08 23:40 Сейчас в теме
сделай комментарий более подробным
исходи из того что ее смотрят первоклассники)))
4. RailMen 829 14.12.08 00:48 Сейчас в теме
люблю когда код в студии
5. greenzmo1 07.08.09 12:07 Сейчас в теме
А есть нечто похожее для 8-ки?
6. vde69 925 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 497 08.02.16 12:53 Сейчас в теме
У меня в файле несколько таблиц. Как получить имени этих таблиц?
15. pyrkin_vanya 497 08.02.16 20:42 Сейчас в теме
Оставьте свое сообщение