Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: ADO - не сохраняет в базу данных. Добавлено: 19.04.10 18:56  

Автор вопроса:  Pride
База данных - в файлах Экселя. Использую такой код:
Set aCn = New ADODB.Connection
        With aCn
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};FIL={MS Excel};READONLY=FALSE;DBQ=C:\monitoring.xls;FirstRowHasNames=0;"
            .Open
        End With
        Set aRs = New ADODB.Recordset
        aRs.CursorType = 3
        sQuery = "INSERT INTO [db$] (Date,Region) VALUES (2,2)"
        Set aRs = aCn.Execute(sQuery)
        aRs.Close
        aCn.Close

db - имя листа, на котором хранятся данные. Date,Region - имена столбцов в файле, хранятся в ячейках А1 и А2.

Что самое интересное - при использовании нижеуказанного запроса данные из БД таки считываются.

sQuery = "SELECT * FROM [db$] WHERE Region=1"
        Set aRs = aCn.Execute(sQuery)

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #1 Добавлено: 20.04.10 11:52
А если запускать вручную прямо в базе работает ? (Просто попытаться выполнить запрос, явно указав, что вставлять.)
Может ему не нравиться тип передаваемых данных (Там вроде значение даты передается) ?

Ответить

Номер ответа: 2
Автор ответа:
 Pride



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 20.04.10 18:22
? Т.е. вы предлогаете открыть monitoring.xls, и в нем запустить этот код? Выдает ошибку типа "Файл занят, обратитесь по позже". Дата не передается - Date,Region - имена столбцов в которые необходимо вставить данные.

Ответить

Номер ответа: 3
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #3 Добавлено: 21.04.10 10:09
Мммм... Просто я когда писала загрузку в Access через Excel, приходилось иногда в самой базе пробовать сначала ручками запустить самой запрос. Выяснялись ошибки записи самого запроса (переменные не так обозначены или значение нужно в кавычках передать и т.д.). При этом в Excel выполнялся этот запрос или с ошибкой, или просто якобы выполнился, но результата никакого. Исправляла запрос и все нормально проходило.
Правда, я связывала Excel и Access. Но думаю, что тут тот же принцип.

Ответить

Номер ответа: 4
Автор ответа:
 Pride



Вопросов: 1
Ответов: 2
 Профиль | | #4 Добавлено: 21.04.10 11:44
К сожалению Excel и Access сильно различаются :( Особенность ясна, будем экспериментировать. Спасибо

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам