|
макрос, который будет брать из таблицы значения=списку в 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&tid=2157873]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 149ms |
0 / 0 |