03. marts 2003 - 16:31Der er
9 kommentarer og 1 løsning
Anvendelse af ODBC-driver til Excel
Jeg forsøger at accesse Excel fra et andet program (SAS) via ODBC-driver'en til Excel. Det fungerer som udgangspunkt fint, men mit andet program kan kun skrive til et ikke åbent Excel-regneark. Kan dette være rigtigt?
Samme øvelse kan fint lade sig gøre vha. DDE (Dynamic Data Exchange), men DDE virker vist kun mellem Windows-baserede programmer, hvilket kan være en begrænsning.
Det har jeg også hørt, så det kan være, at jeg skal kigge på OLE. Jeg har dog svært ved at forstå, at ODBC, som alt andet lige er en vidt udbredt teknik, ikke kan håndtere et åbent Excel-regneark (altså ikke fordi jeg ikke tror på dig :-)), når DDE nu kan.
Øvelsen går ud på at kalde et eksternt program fra Excel, som læser (parametre)fra Excel og skriver tilbage i Excel, og her havde jeg tænkt mig at anvende ODBC.
Jeg ville osse gå den anden vej. Hvis du åbner din SAS-database fra Excel, får du ikke de nævnte problemer. Det må også gøre databehandlingen nemmere, da du så ikke er afhængig af at kalde eksterne programmer.
Jeg tror, at det er rigtigt, at man kan lave en query fra Excel mod en SAS-database (man har så en SAS/Share-server kørende), men når jeg kalder SAS fra Excel er det ikke kun query's jeg er interesseret i men afvikling af et egentligt SAS-program, der læser fra Excel, regner og skriver tilbage i Excel.
Men man kunne måske knække opgaven i 2 bidder: -Excel kalder SAS, som læser data fra Excel, foretager beregning og gemmer i en SAS-database -Excel foretager query mod denne SAS-database
På denne måde er det altså ikke SAS, der skriver til Excel, men Excel der foretager query mod SAS.
Jeg skal måske have lidt hjælp til at foretage query's fra Excel, da jeg ikke er "Excel-haj". Kan I give mig et simpelt input evt. et link, der beskriver teknikken? (det er vel noget Visual Basic, der skal til (?))
Nu ved jeg ikke, hvilke beregninger du laver i SAS. Men det kunne måske være værd at undersøge, om det er nogle der kan laves i Excel, da du så kan køre det hele i én samlet session.
Men selvfølgelig, hvis der er tale om nogle langhårede statistikberegninger, så er SAS bedre. I så fald er din ide om at dele opgaven op i to bidder ret fornuftig.
Hvis det er tilfældet, vil jeg straks overlade scenen til bak, da han kan komme op med et løsningsforslag der langt bedre end mine.
Takker! Der er tale om ekstremt langhårede beregninger, så SAS er afgjort værktøjet her. Herudover trækkes der på data, der naturligt ligger i SAS-miljøet. Man kunne selvfølgelig lave en egentlig SAS/Web-applikation (sådan nogle har jeg også kørende), men fordelen ved Excel her, at brugerne er vante med det. Hertil kommer at Excel er velegnet til meget præcist (vha. "peg og klik") at designe en præsentation, man kan lide.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.