Visual Basic - FDU en expresion SQL

Life is soft - evento anual de software empresarial
 
Vista:

FDU en expresion SQL

Publicado por Rosy (51 intervenciones) el 06/11/2006 13:56:36
Hola, estoy utilizando un select sql bastante extenso y para evitar que la cadena sea mas largo de lo que ya es, agregué una funcion definida por el usuario llamada 'pensionado', pero al ejecutar el programa se cae y aparece el error 3085 : la funcion "pensionado" no está definida en la expresión. La pregunta es ¿al utilizar un select SQL, se puede agregar una funcion definida por el usuario en una clausula WHERE? ¿Visual Basic 6 lo permite? y si fuera si, por qué entonces me estaria reclamando ?

Gracias por cualquier ayuda,
De antemano muchas gracias
Rosy - Chile
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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:FDU en expresion SQL

Publicado por El Viejo Charles (262 intervenciones) el 07/11/2006 02:04:07
Muestranos la forma como aplicas la funcion de usuario en la consulta y el codigo de la funcion de usuario, creo que si lo haces podemos ayudarte mejor
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

RE:FDU en expresion SQL

Publicado por Rosy (51 intervenciones) el 07/11/2006 12:48:30
Como el string del sql es muy largo, voy a mostrar un ejemplo mas corto de lo que trato de hacer, ahi va.......................

Sub Calcula_MoviEgresos(codserv)

Dim tabla_rs As Recordset
Dim xsql As String

xsql = "SELECT SUM(IIF( Not MiFunc( ' " & codserv & " ' ) and ser_egr = ' " & codserv & "',1,0)) as NumEgre FROM EGRESOS;"

Set tabla_rs = BD_Egresos.OpenRecordset(xsql)

End Sub

Function MiFunc(Cod)
MiFunc = False
If cod = "910" Or cod = "912" Or cod = "913" Or cod = "914" Then
MiFunc = True
End If
End Function

Bueno, espero que no esté muy enredado, y que me pueden ayudar con mi interrogante, es decir, ¿ es posible incluir un funcion definida por el usuario en un select sql? si la respuesta fuere si, quiere decir que estoy haciendo algo mal!!!

Gracias por cualquier ayuda, Rosy
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

RE:FDU en expresion SQL

Publicado por Pedro (93 intervenciones) el 09/11/2006 19:19:20
Eso que tienes ahí no puede ser, puesto que el interprete de VB6 va a ver eso como una cadena de texto y no como una función, yo lo que haría es asígnar antes el valor que devuelva la función a una variable, pasarla a String y concatenar la cadena "true" o "false" en la sentencia SQL.

Es pero haberte servido de ayuda, un saludo.
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