Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 15:30   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Из таблицы access создать лист Excel

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как макросом Excel прописать, чтобы при открытии книги Excel создавались новые листы (если таковые отсутствуют) с именами таблиц из определенного файла mdb?
Спасибо.
ольгаг вне форума Ответить с цитированием
Старый 25.01.2012, 22:10   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

ну, наверно, перебрать все таблицы и проверить имеются ли такие листы в книге.
При необходимости создать.
Код:
'Осуществляем показ таблиц
For Each tb In DB.TableDefs
List1.AddItem tb.Name
Next
Как добавить листт - включи макрорекордер и добавь.
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 25.01.2012, 22:19   #3
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Лучше все же запросом
а затем перебрать, сразу все ненужное отсеим
Код:
SELECT MSysObjects.[Name], MSysObjects.[Type]
FROM MSysObjects
WHERE MSysObjects.[Type]=8
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 25.01.2012, 23:38   #4
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Спасибо большое за помощь, попробую по Вашим советам сделать свою задачу, как что-то получится напишу.
ольгаг вне форума Ответить с цитированием
Старый 01.02.2012, 10:01   #5
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Здравствуйте Уважаемые программисты!
Получилось добавить листы в книгу Excel 2003 с именами таблиц из базы данных Access следующим кодом:

Private Sub Workbook_Open()

Dim MySheet As Object
Dim Database As DAO.Database
Dim Filename As String
Dim tb As Object

Filename = "БазаДанных.mdb"
If Dir(ThisWorkbook.Path & "\" & Filename) <> "" Then
Set Database = DAO.OpenDatabase(ThisWorkbook.Path & "\" & Filename, True, True, ";pwd=база")
End If

For Each tb In Database.TableDefs
Set MySheet = Worksheets.Add
MySheet.Name = tb.Name
Next

Set MySheet = Nothing

End Sub

но возникла небольшая проблема, подскажите пожалуйста как исключить добавление ненужных листов: MSysRelationships, MSysQueries, MSysObject, MSysACEs, MSysAccessObjects? Спасибо.
ольгаг вне форума Ответить с цитированием
Старый 01.02.2012, 12:48   #6
RAN.
Форумчанин
 
Аватар для RAN.
 
Регистрация: 05.07.2011
Сообщений: 208
По умолчанию

Такой код осилили, а одну строчку нет?
Код:
For Each tb In Database.TableDefs
If Not tb.Name Like ("*Sys*") Then
Set MySheet = Worksheets.Add
MySheet.Name = tb.Name
End If
Next
RAN. вне форума Ответить с цитированием
Старый 01.02.2012, 13:20   #7
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Спасибо за помощь!
Я только учусь программированию и думала что нужно как-то функцией исключать названия системных таблиц access.
ольгаг вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование строк таблицы по условию одной ячейки из Лист 1 в Лист 2 Людвиг Microsoft Office Excel 5 25.10.2014 11:46
Импорт-экспорт данных Excel-Access, и из Access-Excel Людвиг Microsoft Office Access 3 27.10.2011 14:38
DB Access - как правильно создать бд и связать таблицы? XerSon БД в Delphi 5 19.04.2011 11:41
Импорт таблицы из Access в Excel Callika Microsoft Office Excel 6 17.03.2011 22:10