Curiosidades vODBC

vForum para suscriptores profesionales de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
Avatar de Usuario
Fran
vCoach
vCoach
Mensajes: 6599
Registrado: 21 Sep 2005, 08:23
Ubicación: Madrid (España)
Contactar:

Curiosidades vODBC

Mensaje por Fran » 29 Ago 2006, 18:27

Buenas tardes:

Estoy realizando un proceso de importación de un MDB de Access 97 utilizando vODBC y me encuentro lo siguiente:

1.- Si escribo la sentencia SELECT * FROM TABLA me devuelve todos los campos, pero no en el orden en el que se encuentran en la MDB. Con lo cual no puedo pasar el valor de la primera columna al primer campo V.V., el segundo al seguno, etc.

¿Sabeis que determina el orden en que esta SELECT devuelve los campos?

2.- Para solucionar el punto anterior escribo a mano los campos en la SELECT:

SELECT CAMPO1, CAMPO2, CAMPO3 FROM TABLA

Al hacer esto los devuelve en el orden correcto. Pero al modificar campo en V.V., de la siguiente manera:

Modificar campo, CAMPO1, «ODBC-GET-DATO( 'Handle', 1 )
Modificar campo, CAMPO2, «ODBC-GET-DATO( 'Handle', 2 )
Modificar campo, CAMPO3, «ODBC-GET-DATO( 'Handle', 3 )

Resulta que se salta dos. Después de probar he visto que la forma correcta para importar los campos es:

Modificar campo, CAMPO1, «ODBC-GET-DATO( 'Handle', -1 )
Modificar campo, CAMPO2, «ODBC-GET-DATO( 'Handle', 0 )
Modificar campo, CAMPO3, «ODBC-GET-DATO( 'Handle', 1 )

He resuelto ambos problemas pero, ¿Sabeis porqué pasa esto? ¿Pasa con otros tipos de BB.DD.? ¿Es normal o es que tengo algo mal en mis driver ODBC, DSN o lo que sea?
Un saludo,

Francisco Javier Pérez Novo
EfeUno Consultores de Gestión y Software, S.L.
fjpnovo@efeuno.org
http://www.efeuno.org
(+34) 91 519 44 86
Skype: Fran-EfeUno

Google Maps:
40.447943147972445, -3.6719655990600586

Avatar de Usuario
Fran
vCoach
vCoach
Mensajes: 6599
Registrado: 21 Sep 2005, 08:23
Ubicación: Madrid (España)
Contactar:

Mensaje por Fran » 29 Ago 2006, 18:45

Buenas tardes:

Amplio el post anterior:

El truco de empezar por la columna -1 es válido para obtener el nombre de la columna.

Si embargo, para obtner el valor de la misma, hay que empezar por 0. ¿¿??
Un saludo,

Francisco Javier Pérez Novo
EfeUno Consultores de Gestión y Software, S.L.
fjpnovo@efeuno.org
http://www.efeuno.org
(+34) 91 519 44 86
Skype: Fran-EfeUno

Google Maps:
40.447943147972445, -3.6719655990600586

Responder