Форум программистов, компьютерный форум, киберфорум
Наши страницы

MS Access

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
motorizer85
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 47
#1

Импорт определенных столбцов из Excel в таблицу Access! - MS Access

09.07.2013, 16:53. Просмотров 1498. Ответов 7
Метки нет (Все метки)

Импорт в таблице получается каскадом, может у кого есть более удобное решение данной проблемы.
Думаю еще над тем как прикрепить к значениям массива последний столбец.
То есть А9, B9........ это для примера, заранее неизвестно какой последний будет. Как найти последний понятно, а вот как подставить значение к элементу A? ... и т. д. не могу придумать.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub D_Click()
CurrentProject.Connection.Execute ("DELETE * FROM ГЋГІГ·ГҐГІ")
 
Dim sFileName_PR As String
Dim lLastRow As Integer
Dim j As Integer
Dim Stolbs(8) As String
 
sPath = CurrentProject.Path
sFileName_PR = "\PUD_report_BY*.*"
sFileName_MR = "\myreport.xlsx"
 
filePath = sPath & sFileName_MR
exFe (filePath)
Stolbs(1) = "A1:A9"
Stolbs(2) = "B1:B9"
Stolbs(3) = "C1:C9"
Stolbs(4) = "D1:D9"
Stolbs(5) = "H1:H9"
Stolbs(6) = "J1:J9"
Stolbs(7) = "K1:K9"
Stolbs(8) = "L1:L9"
Stolbs(0) = "M1:M9"
 
For j = 0 To 8
DoCmd.TransferSpreadsheet acImport, , "ГЋГІГ·ГҐГІ", filePath, True, Stolbs(j)
Next j
0
Миниатюры
Импорт определенных столбцов из Excel в таблицу Access!  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2013, 16:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Импорт определенных столбцов из Excel в таблицу Access! (MS Access):

Импорт данных Excel в таблицу Access - MS Access
Здравствуйте Уважаемые форумчане, подскажите пожалуйста как осуществить такую штуку: Имеется файл EXCEL (приходит на почту) вложенный...

Импорт таблицы Excel с изображениями в таблицу access - MS Access
Всем привет! Ребята, нужна помощь. Есть таблица Excel, в которой есть несколько столбцов с различными типами данных. Один из столбцов...

Импорт таблиц Excel в одну таблицу Access - MS Access
подскажите, пожалста, как импортить данные из разных книг excel в одну (!) таблицу ассess?? Пишу так: Sub ImportAll() Dim name As...

экспорт-импорт данных Excel-Access-Excel - MS Access
Доброе время суток уважаемые форумчане. Приходит информация в экселевской таблице. Скидываю её в общую базу в Access. Для отчета...

Обработка Excel и импорт из Excel в Access - MS Access
Прошу совета профессионалов. С Excel-м ранее дел не имел. Задание: файлы Excel из одной папки отредактировать, и сохранить в другой. Из...

Excel -> Access -> Excel, импорт - экспорт - MS Access
Добрый день! Есть табель учета рабочего времени в таблице Excel, задача - переместить данные со всех листов книги в DB Access, позже...

7
ltv_1953
Эксперт MS Access
12753 / 5747 / 1086
Регистрация: 21.06.2012
Сообщений: 10,354
09.07.2013, 17:25 #2
Может быть проще сначала присоединить всю Excel таблицу. А потом уже ее обрабатывать, используя запросы, наборы данных ... .
0
motorizer85
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 47
09.07.2013, 17:32  [ТС] #3
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Может быть проще сначала присоединить всю Excel таблицу. А потом уже ее обрабатывать, используя запросы, наборы данных ... .
Я так и делаю, но выходной файл иногда меняется, и там появляются новые столбцы, создавать таблицу каждый раз???
При появлении нового столбца уже не работает.
Поэтому я и решил вытаскивать только нужные.
0
ltv_1953
Эксперт MS Access
12753 / 5747 / 1086
Регистрация: 21.06.2012
Сообщений: 10,354
09.07.2013, 17:38 #4
Таблицу присоединяете один раз, потом ее просто заменяете. А дальше уже в Access настраиваете обработку по именам полей (столбцов в Excel). Есть же у Вас правила, которые позволяют определить какие поля нужно выбрать и в какие поля результирующей таблицы их поместить.
0
motorizer85
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 47
09.07.2013, 17:51  [ТС] #5
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Таблицу присоединяете один раз, потом ее просто заменяете. А дальше уже в Access настраиваете обработку по именам полей (столбцов в Excel). Есть же у Вас правила, которые позволяют определить какие поля нужно выбрать и в какие поля результирующей таблицы их поместить.
Поподробней пожалуйста, не совсем догнал!)
0
mobile
Эксперт MS Access
22450 / 12768 / 2596
Регистрация: 28.04.2012
Сообщений: 13,961
09.07.2013, 17:52 #6
Я бы взял запрос от ексель-файла, а потом в рекордсете раскидывал по полям таблицы

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim s, rstE as dao.recordset,  rstDB as dao.recordset
sPath = CurrentProject.Path
sFileName_MR = "\myreport.xlsx"
filePath = sPath & sFileName_MR
s="select * from  [Лист1$] IN '" & filePath & "'[Excel 8.0;HDR=yes;]"
set rstE=currentdb.openrecordset(s)
set rstDB=currentdb.openrecordset("select * from Отчет")
do until rstE.eof
  rstDB.addnew
  rstDB(0)=rstE(0)
  rstDB(1)=rstE(1)
  rstDB(2)=rstE(2)
  rstDB(3)=rstE(5)
.......................
  rstDB(9)=rstE(11)
  rstDB.Update
  rstE.movenext
loop
0
motorizer85
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 47
09.07.2013, 18:02  [ТС] #7
Цитата Сообщение от mobile Посмотреть сообщение
Я бы взял запрос от ексель-файла, а потом в рекордсете раскидывал по полям таблицы

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim s, rstE as dao.recordset,  rstDB as dao.recordset
sPath = CurrentProject.Path
sFileName_MR = "\myreport.xlsx"
filePath = sPath & sFileName_MR
s="select * from  [Лист1$] IN '" & filePath & "'[Excel 8.0;HDR=yes;]"
set rstE=currentdb.openrecordset(s)
set rstDB=currentdb.openrecordset("select * from Отчет")
do until rstE.eof
  rstDB.addnew
  rstDB(0)=rstE(0)
  rstDB(1)=rstE(1)
  rstDB(2)=rstE(2)
  rstDB(3)=rstE(5)
.......................
  rstDB(9)=rstE(11)
  rstDB.Update
  rstE.movenext
loop
а может можно как то не весь лист тянуть а? А тока определенные столбцы? Вроде в адо можно, хотя я не помню, а тут как?
0
mobile
Эксперт MS Access
22450 / 12768 / 2596
Регистрация: 28.04.2012
Сообщений: 13,961
09.07.2013, 18:10 #8
Цитата Сообщение от motorizer85 Посмотреть сообщение
а может можно как то не весь лист тянуть а? А тока определенные столбцы? Вроде в адо можно, хотя я не помню, а тут как?
Можно.
SQL
1
s="select F1, F3, F7, F9, F2 from  [Лист1$] IN '" & filePath & "'[Excel 8.0;HDR=NO;]"
Хотя мне кажется, что удобнее в запросе иметь все. А в рекордсете уже раскидывать как надо
0
09.07.2013, 18:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2013, 18:10
Привет! Вот еще темы с ответами:

Импорт gpx в таблицу Access - MS Access
Всем доброго времени дня! Занимаюсь учетами морских млекопитающих и для сбора информации использую Access. Проблема- импорт файлов...

Импорт из Excel в Access - MS Access
Привет, уважаемые форумчане. Как обычно надеюсь на Вашу помощь. Вопрос такой: есть в базе Access(db_DAO) таблицы, полученные путем...

Импорт из Excel в Access - MS Access
Столкнулся с проблемой, необходимо создать в Excel форму для отправки данных в Access, при этом в Excel данные не должны храниться, а...

Импорт из Excel в Access. Need some help!!! - MS Access
Существует много однотипных файлов в формате EXCEL. Надо информацию из них перебросить в базу на ACCESS. Обычный импорт из access не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru