|
|
|
макрос, который будет брать из таблицы значения=списку в sheet. подскажите плз
|
|||
|---|---|---|---|
|
#18+
Добрый день, на VBA всего второй день, а надо написать макрос. Задача такова: в файл xls вставляются записи в первый столбец, затем во второй и другие необходимо добавить записи из таблички БД, приравнивая по первому столбцу. Нашел несколько примеров, но до конца сделать не получается. Подскажите, в чем неправ? Option Compare Text Dim WithEvents Cnn As ADODB.Connection Dim Cmd As ADODB.Command Dim Rst As ADODB.Recordset Dim WithEvents QT As QueryTable ' INSERTING DATA Private Sub ImportButt_Click() '------------------------------------Inserting data--------------------------- i = 2 Set Cnn = New ADODB.Connection Cnn.ConnectionString = "Provider=SQLOLEDB;Server=***,***;Trusted_Connection=Yes" Cnn.ConnectionTimeout = 0 Cnn.CommandTimeout = 0 Cnn.Open Application.StatusBar = "Inserting data..." Set Rst = New ADODB.Recordset Rst.Open "Select *** From *** where ***", Cnn, adOpenDynamic, adLockOptimistic With Sheets("Import") Do While Not (.Cells(i, 1) = "") Rst.AddNew Rst.Fields(0) = .Cells(i, 2) Rst.Fields(1) = .Cells(i, 3) Rst.Fields(2) = .Cells(i, 4) Rst.Fields(3) = .Cells(i, 5) Rst.Fields(4) = .Cells(i, 6) Rst.Fields(5) = .Cells(i, 7) Rst.Fields(6) = .Cells(i, 8) i = i + 1 Loop End With Rst.Update Rst.Close Set Rst = Nothing Cnn.Close Set Cnn = Nothing Application.StatusBar = False MsgBox "Done!" End Sub В ответ на это, при запуске он ругается,что нет прав на запись в таблицу ***, но ведь я туда писать и не хочу совсем..Что не так? Спасибо всем большое заранее! Еще подскажите плиз доку для начинающих ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2012, 16:27 |
|
||
|
макрос, который будет брать из таблицы значения=списку в sheet. подскажите плз
|
|||
|---|---|---|---|
|
#18+
LudeV Rst.AddNew Rst.Fields(0) = .Cells(i, 2) Rst.Fields(1) = .Cells(i, 3) Rst.Fields(2) = .Cells(i, 4) Rst.Fields(3) = .Cells(i, 5) Rst.Fields(4) = .Cells(i, 6) Rst.Fields(5) = .Cells(i, 7) Rst.Fields(6) = .Cells(i, 8) В ответ на это, при запуске он ругается,что нет прав на запись в таблицу ***, но ведь я туда писать и не хочу совсем..Что не так? Ещё как пишите! Вы ,грубо говоря, открываете таблицу и забиваете ее значениями с листа, причем в цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2012, 16:36 |
|
||
|
макрос, который будет брать из таблицы значения=списку в sheet. подскажите плз
|
|||
|---|---|---|---|
|
#18+
QValD, да, я уже потом понял,что делаю в обратную сторону. посоветуйте простенькую доку для чтения. Чтобы не задавать тупых вопросов тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2012, 16:41 |
|
||
|
макрос, который будет брать из таблицы значения=списку в sheet. подскажите плз
|
|||
|---|---|---|---|
|
#18+
Можно примерно так: Код: vbnet 1. 2. 3. 4. 5. И вообще, загнать в отдельную процедуру + позднее связывание: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2012, 11:26 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=37763488&tid=2157873]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 247ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...