![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 31.08.2010
Сообщений: 6
|
![]()
Всем привет. Помогите пожалуйста. У меня проблема. Есть файл excel - 123.xls, который состоит из нескольких листов. Нужно периодически импортировать колонки 8, 10, 13, 15 из листа 6 в access таблицу table1. Причем таблица должна обновляться, а не перезаписывать. Т.е. как-бы Причем сумма в колоноке 15 должна не заменяться, а плюсоваться.
Я в vba новичок. Кое-что накатала, но это совсем не то. Private Sub Кнопка0_Click() Dim rstN As ADODB.Recordset Dim xlObj, xlWB As Object Set xlObj = CreateObject("Excel.Application") xlObj.Visible = False Set xlWB = xlObj.Workbooks.Open("f:\123.xls") Set rstN = New ADODB.Recordset rstN.Open "table1", CurrentProject.Connection, adOpenDynamic, adLockOptimistiс If rstN.BOF = False Then i = 11 While xlWB.Sheets(6).Cells(i, 1) <> "" rstN.Update "Телефон", xlWB.Sheets(6).Cells(i, 8) rstN.Update "Дата", xlWB.Sheets(6).Cells(i, 10) rstN.Update "Сумма1", xlWB.Sheets(6).Cells(i, 13) rstN.Update "Сумма2", xlWB.Sheets(6).Cells(i, 15) i = i + 1 MsgBox "Процес окончен" Wend Else With xlWB.Sheets(6).Cells(i, 8) For i = 11 To .UsedRange.Rows.Count rstN.Update "Телефон", xlWB.Sheets(6).Cells(i, 8) rstN.Update "Дата", xlWB.Sheets(6).Cells(i, 10) rstN.Update "Сумма1", xlWB.Sheets(6).Cells(i, 13) rstN.Update "Сумма2", xlWB.Sheets(6).Cells(i, 15) rstN.MoveNext Next i End With MsgBox "Процесс окончен" End If Set xlWB = Nothing Set xlObj = Nothing End Sub Excel-файл на всяк. случай прикрепляю. Помогите, please. 3 дня уже над этим сижу и туплю |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 04.09.2010
Сообщений: 6
|
![]()
Насколько важно требование по перезаписи? Если не важно docmd вполне может помочь.
Если важно (данные меняются в table1 а в excel нет) можно импортировать эксельку во временную таблицу обработать ее Последний раз редактировалось Nulex; 04.09.2010 в 14:35. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.01.2010
Сообщений: 31
|
![]() Код:
Писал в блокноте, заранее прошу прощения за возможные ошибки. |
![]() |
![]() |
![]() |
#4 | |
Регистрация: 31.08.2010
Сообщений: 6
|
![]() Цитата:
Не, DoCmd точно не подойдет. Во первых надо выкинуть шапку, во вторых перезапись очень важна. Это одна из главных задач. Ща попробую тем способом, который вы подсказали. Огромное спасибо за помощь. Как что получится, обязательно выложу. |
|
![]() |
![]() |
![]() |
#5 | |
Регистрация: 31.08.2010
Сообщений: 6
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Djuleta86.
возможно стоит рассмотреть вариант подключения к диапазону таблицы: Код:
Но идея "..таблица должна обновляться, а не перезаписывать.. ..в колонке 15 должна не заменяться, а плюсоваться. .." не правильное решение. Сохраняйте все данные с учетом уникальности составного ключа (например Номер телефона абонента, Дата заключения договора,...), т.к. "плюсоваться" (приплюсовывать) данные из поля F15 необходимости нет, для этого существуют запросы с группировкой, которые в любой момент могут отобразить итоговое значение. это моё мнение, решение за Вами. Евгений. |
![]() |
![]() |
![]() |
#7 | |
Регистрация: 31.08.2010
Сообщений: 6
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
импорт данных из access в excel. | romale_80 | Microsoft Office Access | 8 | 25.03.2010 01:26 |
Импорт AD users в Excel | sirius24 | Microsoft Office Excel | 1 | 18.03.2010 06:23 |
Импорт данных в Excel | mMAg | Microsoft Office Excel | 2 | 20.08.2009 17:50 |
Импорт из Excel в Access | AD_min | БД в Delphi | 0 | 28.10.2008 09:29 |