Entrada
Autor: XavierPons » ds., 11 juny 2011, 11:58
Hola,
Jo ho he provat i em funciona correctament. Repassem els passos necessaris:
1/ Definició de la taula dintre del full de càlcul. És necessari que dintre l'XLS defineixes una regió rectangular que sigui la taula que vols que reconegui el driver ODBC. En essència: 1.1 Selecciona la zona, incloent els noms de camps. 1.2 En Excel 2003 vés a "Inserir | Nom | Definir" i escriu el nom de la taula que vols crear; en Excel 2007 i posteriors fes botó dret amb el ratolí i selecciona "Assigna un nom a un rang". Si tot ha anat bé, quan selecciones amb el ratolí la zona, a dalt a l'esquerra apareix el nom de la taula i una fletxeta amb un desplegable (si t'interessa, pots definir més d'una taula en un mateix XLS, i aleshores en obrir l'XLS des del MiraDades, o des d'una connexió DSN, et deixarà triar quina vols usar). Si ara deses l'XLS veuràs que per exemple el MiraDades pot obrir-lo directament (et preguntarà quina de les taules definides a l'XLS vols obrir).
2/ Creació del DSN. De del "Tauler de control" del Windows, vas a "Eines administratives i Fonts de dades (ODBC)", tal i com deies. Aquí selecciones la pestanya DSN de fitxer (!!) (no de sistema ni d'usuari). Des del botó "Agregar" tries el driver Microsoft per a Excel XLS. En la següent caixa prems el botó "Examinar" i navegues al directori on voldràs DESAR el DSN (típicament el mateix on és l'XLS) i escrius el nom del nou DSN que crearàs; prems "Següent" per anar a la següent caixa, que és merament informativa; prems "Finalitzar". En la nova caixa que apareix, prems el botó "Seleccionar llibre..." i explores fins a l'XLS desitjat. Prems "Acceptar" i el fitxer DSN ja s'ha creat (pots comprovar-ho amb l'explorador de fitxers). Ara ja pots tancar la caixa d'administració de fonts de dades ODBC.
3/ (opcional) Definir adreces relatives. El Windows no genera els fitxers DSN amb adreces relatives, però les suporta si les troba escrites. Així doncs, si t'interessa gaudir de la flexibilitat de les adreces relatives cal que editis el DSN amb el bloc de notes i converteixis les adreces absolutes en relatives. Per exemple en les claus on diu:
DefaultDir=E:\taller\odbc\AccedirXLS
DBQ=E:\taller\odbc\AccedirXLS\ExempleTaulaEnXLS_AmbCoordenades.xls
hi escrius:
DefaultDir=.
DBQ=ExempleTaulaEnXLS_AmbCoordenades.xls
T'incloc un ZIP amb un petit exemple.
Els drivers per a XLS presenten algunes "imperfeccions" com que consideren que un decimal 0 al final d'un nombre real no s'ha de mostrar (com fa l'Excel per defecte si no li defineixes el nombre de decimals), i retornar un camp de nombres enters (amb 0 decimals definits a l'Excel) com si fossin reals (amb decimals 0) però funciona raonablement bé.
Una altra solució és que et plantegis si pots efectuar els canvis directament a una DBF o a un MDB, que són d'enllaç directe en el MiraMon i, a més, en ser formats de taules i bades de dades, sempre presenten menys problemàtiques potencials que els XLS via DSN.
Finalment, recorda que pots activar un refresc periòdic d'una capa des de "Visualització | Refresc periòdic de capes". Això funciona tant si les teves taules són en DBF, MDB o altres bases de dades, taules o fulls de càlcul accedides via DSN i permet que dinàmicament, cada cert temps, refresqui l'aspecte de la capa (la simbolització canvia coherentment).
-
Fitxers adjunts
-
- ExempleTaulaEnXLS_AmbCoordenades.zip
- (2.24 KiB) S’ha baixat 149 vegades
miramon l’ha editat per darrera vegada el dia: dl., 05 maig 2014, 12:32, en total s’ha editat 1 vegada.
Raó: Actualització a Excel 2007
Xavier