Se pueden hacer Funciones (FDU) entro de un Select

Hola, cordial saludo.
Mi nombre es Jorge y quisiera que me ayudaras en lo siguiente:
¿Se puede introducir una función definida por el usuario dentro de una clausula Select de sql?
Lo que quiero decir es introducir una función fdu(), en la cual le paso un argumento hace unas verificaiones y me calcula un valor y me devuelve ese valor, y que ese valor que me devuelva, sea una columna. Por ejemplo:
Select [CodigoClasificacion],[Descripcion],[Frecuencia],[Distancia],FDU([CodigoClasificacion]) as ValorX,[secuencia] from analisis where [CodigoOperacion]= Operaciones.Recordset![CodigoOperacion] Order by [Secuencia]
CodClas Descrip Ffrec Dist Valorx Secu
x01 Amarrar 2 30 73 1
x10 Agarrar 1 12 65.5 2
No se si me hice explicar.
o si hay alguna otra forma de hacer esto.
Yo he programado mucho tiempo en clipper y ya quiero emigrar a VB. Y yo en Clipper esto lo hacia así:
Declare C[6],t[6]
c[1]='CodClas'
.
.
c[5]='fdu(codClas)'
c[6]='secuencia'
Si me puedes ayudar con esto te lo agradecería mucho.

1 Respuesta

Respuesta
1
Se puede hacer lo que quieres... solo que tienes que armar la cadena de caracteres en una varianble y luego usarla, como para que sea más prolijo y ademas para poder concatenar resultados...
Seria algo así
Buscar="select campo1, campo2, " & FDU(elemento) & " campo3, campo4 where...."
Luego usas la variable Buscar en lugar de toda la cadena... ATENTO a los espacios en blanco antes de las primeras comillas y después de las segundas...
Suerte
Hola, gracias por adenderme.
Quisiera hacerte otra pregunta:
Hice lo que sugeriste, pero al ejecutar la aplicación, me saca un mensaje "Nombre externo no definido" yo creo que debe ser por que estoy colocando en el argumento de la función el nombre de un campo de la base de datos.
por ej.:
Buscar="select campo1, campo2, " & FDU(campo1) & "AS Valor, Valor*campo2 AS Total, campo4, campo5 where...."
Donde la función me tiene que devolver un valor y ese valor debe quedar como un campo calculado con su respectivo titulo y luego con ese hacer otra columna calculada también con su respectivo titulo.
Gracias.
A ver... tienes un problema de estructura.
La estructura de una instrtruccion SQL es:
SELECT campo1, campo2, campo3
FROM tabla
WHERE condicion
Veras que a la instrucción SELECT solo se pueden colocar nombres de campos válidos
entonces, no comprendo bien que es lo que hace esa función que estas armando.
¿Disculpa si es muy engorroso pero podrías explicarme que hace esa función? Ya que yo supuse que devolvía unn nombre de campo y veo que no es así.
El valor que devuelve la función, ¿QUÉ valor es?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas