-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


доступ из VBA _6 к БД Аксесс 2010

Четверг, 23 Января 2014 г. 22:24 + в цитатник
Есть учётная прога , создающая mdb-шную базу (Lосаl.mdb и Global.mdb)
Функционал учётки Заказчика не устроил , и я написал Екселевский макрос устраняющий недостатки

Макрос с учёткой не работает , а обращается напрямую к базе и выполняет импорт данных из БД в Ексель через 3 разных QuryTable c одинаковой строкой подключения (на всякий случай даю весь запрос)

With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=База данных MS Access;DBQ=C:\Program Files\ArtSoft\Portal 37\BASE\Local.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;Pa" _
), Array("geTimeout=5;;Trusted_Connection=Yes")), Destination:=Range("A6"))

.CommandText = Array( _
"SELECT PayType.PTChDate, PayType.PTChNum, PayType.PTQuantity " _
& Chr(13) & "" & Chr(10) & "FROM PayType PayType" & Chr(13) & "" & Chr(10) & _
"WHERE (PayType.PTPayType=4) AND (PayType.PTChDate>={ts '" & _
Format(Range("G6"), "YYYY-MM-DD 00:00:00") & "'} And PayType.PTChDate<={ts '" & _
Format(Range("I6"), "YYYY-MM-DD 23:59:59") & "'})" & Chr(13) & "" & Chr(10) & _
"ORDER BY PayType.PTChDate DESC")
.Name = "Запрос из База данных MS Access_1"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False ' Исходно было True
.BackgroundQuery = False ' Исходно было True
.RefreshStyle = xlOverwriteCells ' Заменили на xlOverwriteCells исходно было xlInsertDeleteCells
.SavePassword = False
.SaveData = True ' Искодно было False
.AdjustColumnWidth = False ' Искодно было True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
.delete ' Добавили .delete
End With

Макрос написан в среде Ексель 2003 Все пашет отлично
Теперь возникла необходимость запускать его под Офис 2010

Обнаружилась проблемма.
При запуске макроса из Ексель 2010 , как только код выполняет строку подключения , он просит указать Источник данных, потом форма ввода Лог/Пасс , где в ПУСТОЙ форме жмакаеи ОК. И только после этого идёт импорт
Причём это нмчего не запоминается , и по каждому новому запросу -- всё по-новой

Люди помогите побороть эту дрянь

P.S.
WinXP SP3 , 32-х разрядная
ODBC драйаер MS Access , движок Jet 4.0

http://www.sql.ru/forum/1072817/dostup-iz-vba-6-k-bd-aksess-2010


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку