problema con subquery

lety
31 de Enero del 2005
Hola

Tengo el siguiente problema con el siguiente subquery me da error de sintaxis en la cadena de expresión de consulta.
Lo que necesito es que me devuelva una cantidad total para poder encontrar un porcentaje en un periodo de tiempo ingresado en tiempo de ejecución. El problema es que no me da el resultado cuando coloco la expresión Where de la subconsulta y las fechas o periodos si o si deben coincidir.
Funciona no usando la clusula where o solo usando el segundo where , pero los resultados son erróneos
Este es el codigo , espero me puedan ayudar

s2 = " SELECT obra_social.Nombreos,"
s2 = s2 + " (Count(paciente.cod_os)/(SELECT Count(paciente.cod_os)"
s2 = s2 + " FROM ((ficha INNER JOIN internacion ON ficha.nro_int = internacion.nro_int) INNER JOIN paciente ON ficha.dni_p = paciente.dni_p) INNER JOIN obra_social ON paciente.cod_os = obra_social.cod_os"
s2 = s2 + " WHERE (internacion.fecha_egr) BETWEEN #" & Format(fechainicial, "m/d/yy") & "# And #" & Format(fechafinal, "m/d/yy") & "#"")) AS Porcentaje"
s2 = s2 + " FROM ((ficha INNER JOIN internacion ON ficha.nro_int = internacion.nro_int) INNER JOIN paciente ON ficha.dni_p = paciente.dni_p) INNER JOIN obra_social ON paciente.cod_os = obra_social.cod_os"
s2 = s2 + " WHERE (internacion.fecha_egr) BETWEEN #" & Format(fechainicial, "m/d/yy") & "# And #" & Format(fechafinal, "m/d/yy") & "#"
s2 = s2 + " GROUP BY obra_social.Nombreos;"


Alexander
31 de Enero del 2005
según parece estas utilizando access, por eso utilizas el # para indicarle que es una, pero mejor te recomiendo que uses la funcion CDATE() la cual convierte el valor a Fecha/Hora y de esta manera se ejecuta la consulta con la condicion deseada.