Есть учётная прога , создающая 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