|
из access в 1C или как подсоединить .mdb | ☑ | ||
---|---|---|---|---|
0
Hикита
28.08.14
✎
07:49
|
Подскажите пожалуйста кто-нибудь подсоединял через внешние источники Аксесовскую базу ? как это сделать ? Таблицу xls получилось прочитать в 1С, а хотелось бы читать .mdb
пробовал такой строкой соединения СтрокаСоединения ="Driver={Microsoft Access Driver (*.mdb)};Dbq="+Файл+";Uid=Admin;Pwd=;"; и такой "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Файл + ";"""; |
|||
1
skunk
28.08.14
✎
07:51
|
||||
2
Wobland
28.08.14
✎
07:54
|
Процедура ЗагрузитьAccess()
Попытка Access=Новый COMОбъект("Access.Application"); wsp=Access.DBEngine.Workspaces(0); БД=wsp.OpenDatabase(ФайлAccess); Исключение Сообщить("Ошибка загрузки Access"); Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры Процедура ЗакрытьAccess() Попытка БД.Close(); БД=Неопределено; Access.Quit(); Access=Неопределено; Исключение КонецПопытки; КонецПроцедуры |
|||
3
Hикита
28.08.14
✎
08:01
|
Делаю так
[code]&НаСервере Процедура ОбновитьНаСервере() //Файл = "C:\CarrierTable.mdb" ; ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных; ПараметрыСоединения.СтрокаСоединения ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\CarrierTable.mdb"; // Persist Security Info=False; //"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Файл + ";"""; Driver={Microsoft Excel Driver (*.xls)};DBQ=C:\CarrierTable.xls; DriverID=790"; //Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb; //Persist Security Info=False; ВнешниеИсточникиДанных.Excel.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения); ВнешниеИсточникиДанных.Excel.УстановитьСоединение(); //"Driver={Microsoft Access Driver (*.mdb)};Dbq="+Файл+";Uid=Admin;Pwd=;"; Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Данные.CarrierId КАК CarrierId, | Данные.ComponentName КАК ComponentName, | Данные.BatchId КАК BatchId, | Данные.MagazineName КАК MagazineName , | Данные.Feeder КАК Feeder, | Данные.TrayPosition КАК TrayPosition, | Данные.CarrierType КАК CarrierType, | Данные.CarrierSubtype КАК CarrierSubtype, | Данные.Angle КАК Angle, | Данные.Quantity КАК Quantity, | Данные.Step КАК Step, | Данные.Amplitude КАК Amplitude, | Данные.Duration КАК Duration, | Данные.Frequency КАК Frequency, | Данные.StepLengthTrim КАК StepLengthTrim, | Данные.XOffset КАК XOffset, | Данные.ServoAdjustment КАК ServoAdjustment, | Данные.Alarm КАК Alarm, | Данные.AutoRefill КАК AutoRefill, | Данные.HydraReachable КАК HydraReachable, | Данные.Location КАК Location, | Данные.Owner КАК Owner, | Данные.YAcc КАК YAcc, | Данные.ZAcc КАК ZAcc , | Данные.QuantityAtNew КАК QuantityAtNew, | Данные.HasBeenLoaded КАК HasBeenLoaded , | Данные.SupplierPartNumber КАК SupplierPartNumber, | Данные.TimeAtFirstLoad КАК TimeAtFirstLoad, | Данные.MaxTotalTime КАК MaxTotalTime, | Данные.TimeAtWarning КАК TimeAtWarning, | Данные.PreviousFeeder КАК PreviousFeeder, | Данные.LastChanged КАК LastChanged, | Данные.Created КАК Created, | Данные.Test КАК Test, | Данные.Aux_2 КАК Aux_2, | Данные.Country КАК Country, | Данные.Operator КАК Operator, | Данные.Aux_6 КАК Aux_6, | Данные.Aux_7 КАК Aux_7, | Данные.Aux_8 КАК Aux_8, | Данные.Aux_9 КАК Aux_9 | ИЗ | ВнешнийИсточникДанных.Excel.Таблица.Данные КАК Данные"; ТЗ = Запрос.Выполнить().Выгрузить(); КонецПроцедуры [/code] |
|||
4
Hикита
28.08.14
✎
08:05
|
(1) Чего то не выходит :(
|
|||
5
vde69
28.08.14
✎
08:13
|
http://infostart.ru/public/57426/
// // Функция получает таблицу из базы аксесса // Функция ПолучитьТаблицуАкцесса (Подключение, ИмяТаблици) Результат = СоздатьОбъект("ТаблицаЗначений"); Результат.Очистить(); Команда = СоздатьОбъект("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(СтрокаПод); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; // // получем таблицу с именем "Номенклатура" // ТабСпр = ПолучитьТаблицуАкцесса (Акцесс, """Номенклатура"""); |
|||
6
Hикита
28.08.14
✎
08:40
|
А можно ли как-нибудь интерактивно подцепиться через внешние источноики ?
|
|||
7
shuhard
28.08.14
✎
08:44
|
(0) для разных релизов аксесса разные строки подключения
|
|||
8
shuhard
28.08.14
✎
08:45
|
(6) ясен пень, udl файлик
|
|||
9
Hикита
28.08.14
✎
09:30
|
(8) Не понял, можно поподробнее?
|
|||
10
shuhard
28.08.14
✎
09:45
|
(9) можно, гугл
|
|||
11
Ненавижу 1С
гуру
28.08.14
✎
09:57
|
(3) >>Data Source=C:\CarrierTable.mdb
а база у тебя тоже на сервере? |
|||
12
Balabass
28.08.14
✎
10:18
|
Встряну в тему.
А как юзать компоненту акцесса без установки самого акцесса? Какие варианты есть? |
|||
13
Balabass
28.08.14
✎
10:22
|
есть терминал 2008, там только ворд у меня и эксель..возможности ставить акцесс нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |