Имя: Пароль:
1C
1С v8
Как перебрать таблицы в access
0 URAL
 
25.08.12
18:02
есть файл с данными от ms access. в нем несколько таблиц, связаны по ключу, артикульный номер. подскажите возможно ли перебрать в коде в 1С сразу несколько таблиц? и загрузить необходимые данные?  Если можно дайте ссылку на пример реализованного решение или подскажите где можно посмотреть?  Заранее спасибо!!!
1 Wobland
 
25.08.12
18:03
запросом? где-то валялся в бардачке какой-то пример вынимания данных из аксесса. искать?
2 shuhard
 
25.08.12
18:04
(0) можно, как через ADODB, так и в 8.2 через внешние источники данных
3 kotletka
 
25.08.12
18:06
а ты знаешь имена таблиц, или тебе надо все таблицы перебрать?
4 ILM
 
гуру
25.08.12
18:54
10 тыщ, если сказано, что, откуда и куда.
100 тыщ, если нет)))
5 sda553
 
25.08.12
20:45
средствами vba будет что то типa
Set dbs=CurrentDB
for each TableDef in dbs.tableDefs
.....
Next TableDef
6 sda553
 
25.08.12
20:47
А вообще, если можно поковырять access я бы сделал там линк на sql табличку и по запуску твоей функции в sql сливалась бы нужная инфо
7 shuhard
 
26.08.12
08:31
(5) средствами 1С это будет:
MyCon = Новый COMОбъект ("ADODB.Connection");
   MyCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\1.MDB");
   MyCat=Новый COMОбъект ("ADOX.Catalog");
   MyCat.ActiveConnection = MyCon;
   Для Каждого MDBТаблица Из MyCat.Tables Цикл
       Если MDBТаблица.Type="TABLE" Тогда
           Сообщить(MDBТаблица.Name);    
       КонецЕсли;
   КонецЦикла;
8 ILM
 
гуру
26.08.12
08:36
(7) ТС скорее всего запрос будет использоваться - один запрос из кучи таблиц, а потом уже результат в 1С обрабатывать. Если разовая процедура, то можно и в 1с ничего не городить и сделать загрузку.
9 URAL
 
29.08.12
02:07
(7) в запросе не получилоь перебрать, памяти сервера не хватает, но этот вариант подходит, т.к. в таблицах по несколько милионов записей))) пришлось используя таблицы значений по 50000 строк записывать ( использовал в цикле счетчик) и тогда все ок. Спасибо!!!