![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 326
|
![]()
Здравствуйте Уважаемые программисты!
Есть файл-база с таблицами в Access (например, Таблица1, Таблица2 и т.д.). Код приведенный ниже (находится в активной книге Excel) позволяет из файла Access в активную книгу Excel импортировать данные этих таблиц предварительно создав Листы Excel с именами равными именам таблиц Access. Private Sub Workbook_Open() Dim Database As DAO.Database Dim rs As DAO.Recordset Dim Filename As String Dim tb As DAO.TableDef Dim Sheet As Worksheet Dim wkbk As Excel.Workbook Dim wksht As String Dim i As Integer Dim xl As New Excel.Application Filename = "БазаДанных.mdb" If Dir(ThisWorkbook.Path & "\" & Filename) <> "" Then Set Database = DAO.OpenDatabase(ThisWorkbook.Path & "\" & Filename, True, True) End If xl.DisplayAlerts = False With wkbk For Each tb In Database.TableDefs If Left(tb.Name, 4) <> "MSys" Then Set rs = Database.OpenRecordset(tb.Name, dbOpenDynaset) wksht = tb.Name Sheets.Add after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = wksht Sheets(wksht).Range("A1").CopyFromR ecordset rs End If Next tb End With xl.DisplayAlerts = True rs.Close xl.Quit Set wkbk = Nothing Set xl = Nothing Set rs = Nothing Set Database = Nothing End Sub Подскажите пожалуйста, как добавить в данный код проверку совпадения имен существующих в книге Листов с именами выгружаемых таблиц Access, т.е. если в активной книге Excel существует Лист и он совпадает по своему имени с именем любой таблицы Access, то новый лист (с именем таблицы Access) не создавать. Заранее спасибо. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Этот кусок
Код:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 326
|
![]() Цитата:
Подскажите пожалуйста, как исправить появление ошибки "Error in loading dll" в строке: For Each tb In Database.TableDefs? |
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 326
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
> Я попробовала изменить код как Вы сказали (только изменила If Err на If Not Err ...
Супер! ![]() Может, есть СКРЫТЫЕ листы с такими именами?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 326
|
![]() Цитата:
Код работает и добавляет Листы с именами таблиц Access, но если такие Листы уже есть в книге Excel, то повторно они не должны добавляться - это пока у меня не получается сделать. |
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 326
|
![]() Цитата:
Я попробовала на другом компьютере - все работает. Пока не знаю почему не работает на моем компьютере. Спасибо! |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
из таблицы access в лист excel | alexandrsurgut | Microsoft Office Access | 1 | 15.02.2012 04:02 |
Из таблицы access создать лист Excel | ольгаг | Microsoft Office Excel | 6 | 01.02.2012 13:20 |
Таблицы StringGrid в разные листы Excel | Marina8 | Общие вопросы Delphi | 4 | 21.12.2011 17:58 |
Импорт таблицы из Access в Excel | Callika | Microsoft Office Excel | 6 | 17.03.2011 22:10 |