Access - Consultas de paso a través

 
Vista:
sin imagen de perfil

Consultas de paso a través

Publicado por Augusto Barragán C. (1 intervención) el 31/08/2000 00:00:00
Hola a todos

Estoy utilizando unas consultas de paso a través para obtener información de una base de datos (no es SQL Server ni nada que se le parezca) y he encontrado que por esta opción puedo obtener la información de una forma más rápida que si tuviera que vincular las tablas. Tengo el controlador ODBC requerido para esta labor

En dicha tabla encuentro un CAMPO1, el cual me lo muestra como texto cuando en realidad es numérico (primer problema al utilizar este ODBC). Si hubiera vinculado la tabla, posteriormente
elaboraría una consulta donde utilizaría la función VAL() para convertir la
cadena de texto a número y así poder trabajar.

Mi pregunta: no existe alguna forma de utilizar esta función en la sentencia SQL de la consulta de paso a través para que me agilize el proceso? lo anterior lo hago para no vincular la tabla y obtener un mayor rendimiento.

También necesito saber si puedo utilizar las funciones incorporadas en ACCESS en este tipo de consulta, por ejemplo: Mid([campo1],2) AS nuevo. Sucede que cuando intento utilizar cualquier función de access aparece el siguiente error:

ODBC CALL FAILED
[FLEX/ODBC] EXPECTED LEXICAL ELEMENT NOT FOUND: FROM(#11015)

Cuando no le coloco ninguna función entonces si trae todos los datos, pero me tocaría utilizar otra consulta para calcular el valor.



Gracias por su colaboración
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Consultas de paso a través

Publicado por Alejandro (4142 intervenciones) el 13/04/2023 23:02:24
Sí, es posible utilizar la función 'VAL()' en la sentencia SQL de la consulta de paso a través. Para hacerlo, puedes utilizar la función 'CAST()' o 'CONVERT()' para convertir el valor del campo a un tipo de datos numérico. Por ejemplo:

1
SELECT CAST(CAMPO1 AS FLOAT) AS NuevoCampo FROM TablaDePaso

O

1
SELECT CONVERT(FLOAT, CAMPO1) AS NuevoCampo FROM TablaDePaso

En cuanto a la segunda pregunta, también es posible utilizar las funciones incorporadas de Access en una consulta de paso a través. Sin embargo, ten en cuenta que estas funciones pueden no estar disponibles en el controlador ODBC que estás utilizando. Si el controlador no reconoce una función específica, puedes intentar escribir una sentencia SQL más compleja que logre el mismo resultado utilizando las funciones que sí están disponibles.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar