Visual Basic - Comparando fechas - sql y visual basic

Life is soft - evento anual de software empresarial
 
Vista:

Comparando fechas - sql y visual basic

Publicado por gorelev (3 intervenciones) el 15/06/2007 13:00:34
Haber si me puede ayudar alguien

La base de datos que tengo es en sql server

En una parte de un programa realizado en visual basic 6 me pasa lo siguiente:

Tengo una tabla llamada pedidos con los siguientes campos:

cod(tipo de datos int) y
fecha(tipo de datos smalldatetime)

Lo que quiero mostrar es es el numero de pedidos en la fecha en la que se hace la consulta (para esto uso la funcion date en vb)

La consulta que hago es la siguiente:

select count(cod) as npedidos from pedido where fecha = '" & Date & "'

El problema que tengo es que esta consulta no me funciona porque me sale el siguiente error:

"error de sintaxis al convertir una cadena al tipo de datos smalldatetime"

Para solucionarlo probe ha realizar la consulta asi pero tpco me funciona, me devuelve el valor 0:

select count(cod) as npedidos from pedido where fecha = '&Format(date,"DD/MM/YYYY") & '

Haber si alguien me puede indicar que estoy haciendo mal.

Gracias por adelantado.
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

RE:Comparando fechas - sql y visual basic

Publicado por Ana (70 intervenciones) el 15/06/2007 15:30:37
Hola:
Se supone que el Date es una variable, si lo es, lo estas utilizando mal, ya que Date te coge la fecha actual y te da valor cero porque no tendras ningun registro con esa fecha.

variable es donde recoges la fecha por la que tienes que buscar, quedaria asi:
select count(cod) as npedidos from pedido where fecha = '" & CDate(variable) & "'

No se si es lo que estas buscando.

Saludos
Ana
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:Comparando fechas - sql y visual basic

Publicado por fede (189 intervenciones) el 15/06/2007 16:34:24
otra puede ser q uses el LIKE en ves de = osea la misma sentencia pero en ves de poner where fecha = '" & CDate(variable) & "'
pones where fecha like '" & CDate(variable) & "'
y el formato de smalldate es ese? o es yy/mm/dd
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:Comparando fechas - sql y visual basic

Publicado por gorelev (3 intervenciones) el 15/06/2007 17:39:01
Lo he probado y con el like la consulta me devuelve el valor 0

me imagino que el formato es dd/mm/yyyy porque he probado a meter una fecha en este formato y me hacia la consulta bien.
para probar por ejemplo he realizado el select..........where fecha='15/06/2007' y me mostraba los valores correctamente.

PD:gracias por contestar
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:Comparando fechas - sql y visual basic

Publicado por gorelev (3 intervenciones) el 15/06/2007 17:35:51
Lo he probado y con esto me sigue saliendo el mismo error que puse antes.

PD:Gracias por contestar
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
sin imagen de perfil

RE:Comparando fechas - sql y visual basic

Publicado por emerson (31 intervenciones) el 16/06/2007 23:24:53
intenta poniendolo de esta manera a mi me funciona
select count(cod) as npedidos from pedido where fecha = ' " & Format(date, "yyyy-dd-mm") & " ' ,espero te sirva.chau
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:Comparando fechas - sql y visual basic

Publicado por roger (1 intervención) el 31/01/2008 02:05:15
Buenas tardes:

Disculpen la molestia, me podrían indicar alguna otra forma para hacer esta comparación ya que me sigue sin funcionar. De antemano gracias por su ayuda.

Saludos!!!
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:Comparando fechas - sql y visual basic

Publicado por avielo (1 intervención) el 27/02/2008 16:10:38
prueba con fecha = " ' " & Date & " ' ".
quita los espacios entre comillas solo son para que los distingas.
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:Comparando fechas - sql y visual basic

Publicado por Gabriel Logan (1 intervención) el 03/03/2008 19:16:44
Por si todavia te interesa:

Detecte un par de problemas en tu sentencia, aclaro que yo use access como BD.

Tu tienes
select count(cod) as npedidos from pedido where fecha = '" & Date & "'

la tabla dices que se llama pedidos y tu la invocas como pedido, pero bueno tal vez eso sea un error de dedo, también tienes que tomar en cuenta que para que funcionen bien las fechas debes tomar el formato de fecha canonica, es decir,
#YYYY/MM/DD# (los simbolos "#" son importantes para indicar que la variable se trata de una fecha). te pongo un ejemplo mio:

"SELECT DISTINCT numero FROM flujofinan WHERE parcial = 0 AND fecha < #" & Format(Date, "YYYY/MM/DD") & "# ORDER BY numero;"

Espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Comparando fechas - sql y visual basic

Publicado por Marosoto (1 intervención) el 04/01/2012 23:56:12
Perfecto!!! ese ejemplo de la instrucción es lo que resolvio mi problema gracias por tu ayuda!!
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