Access Excel Automation

2 отговора 95 прегледа
#1

Access Excel Automation

Имам приложение на Access (.ADP) и то праща параметри към един Excel файл. В резултат от калкулациите в този файл се вземат резултати и се обработват. Дотук всичко е ОК! и работи добре на моя комп. Имам инсталиран Office 2000 Pro и референцията към Excel e през EXCEL9.OLB. Правя си .ADE и го стартирам на друг комп. където има Office 97, т.е. референцията вече не валидна. На този комп. без да имам обръщение към подпрограмата за обр/ка чрез Excel започват странни неща. Полетата които имат форматиране, например дата (dd.mm.yyyy) излизат с #Name. Другото си бачка, но това форматиране е...ва работата. Ако някой може да ми помогне преди да съм загубил маса дни в търсене на решение предварително му БЛАГОДАРЯ !!!

Отговор
в отговор на planik #2

Re: Access Excel Automation

Problema s #Name ne kysae formata na date-ta, a function-a koito polzvash - getdate, now, date i t.n. imah podoben problem i pri PC s ednakvi operacionni sistemi, proveri koi tochno e dll faila, koito sydyrza tezi functions i go razprostraniavai zaedno s prilozenieto. Tova moze da go proverish v MSDN - msdn.microsoft.com. Niama garancia kak shte se dyrzi OS ako ne e syshtata, koiato ti polzvash. dano sym bil ot pomosht. Shto se kysae do Excel, niama shans da sraboti s 97, t.k. razlikite mezdu 97 i 2000 sa syshtestveni, moze da probvash s xls controla v Access, stiga da ne polzvash predvaritelno napraveni maketi v XLS, koito polzvat slozni functions.

Dano sym pomognal!

Niakoi dostaviat radost samo s prisystvieto si, drugi edva kogato si trygnat
Отговор
в отговор на gandalf_ #3

Re: Access Excel Automation

Благодаря за съвета, но се оказа нещо друго. Аз описвах обекта за Automation в проблемното ADP като Excel.Application :
Dim xlApp as Excel.Application

Това е вярно, но когато се дистрибутира трябва да се промени :
Dim xlApp as Object

и така ще върви на всеки Excel (97 +), защото единственото което прави Access е да запиша 4 стойности и да взема два резултата от Sheet с определено име.

------
Като резултат се оказва че за debug-ване на програмката е необходимо:
Dim xlApp as Excel.Application

а за дистрибуция:
Dim xlApp as Object

Отговор