Visual Basic - CONSULTAR FECHAS

Life is soft - evento anual de software empresarial
 
Vista:

CONSULTAR FECHAS

Publicado por SERGIO (7 intervenciones) el 07/08/2004 12:35:12
Hola ¿q tal? A ver si me podeis hechar un cable

Resulta que tengo que realizar una consulta en access de tipo fecha (desde visual basic 6.0). En la tabla de access tengo definido el formato fecha corta 16/12/2004. Desde Visual hago la consulta.

y ¿que es lo que ocurre?

Ocurre lo siguiente:
Por ejemplo, consulto la fecha 12/04/2006 y me localiza los datos referente a esta fecha.
El problema es cuando, por ejemplo pongo: 02/10/1981, entonces no me localiza la fecha.

Para intentar solucionar el problema he intentado realizar la sentencia SQL desde access, y me he dado cuenta de que en la base de datos está escrito 02/10/1981, pero en la consulta pongo 02/10/1981 y me lo convierte a 2/10/1981 (no sé si esto os aportará algo de información)

La sentencia de visual que utilizo es la siguiente (donde mskFecha es una maskara de fecha ##/##/####)

SQL = "SELECT P.CodProd, P.Producto, P.Precio, SUM(V.Cant) AS Cant, P.Precio * SUM(V.Cant) AS SubTotal " & _
"FROM Ventas V, Productos P " & _
"WHERE (V.CodProd=P.Codprod) and (V.Fecha=#" & CDate(mskFecha) & "#) " & _
"GROUP BY P.CodProd, P.Producto, P.Precio"

Set RecordSet = BaseDatos.Execute(SQL)

¿me podeis ayudar por favor???
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:CONSULTAR FECHAS

Publicado por Cecilia Colalongo (3116 intervenciones) el 07/08/2004 14:34:38
Intenta enviar la fecha en formato yyyy-mm-dd que en general siempre funciona:

SQL = "SELECT P.CodProd, P.Producto, P.Precio, SUM(V.Cant) AS Cant, P.Precio * SUM(V.Cant) AS SubTotal " & _
"FROM Ventas V, Productos P " & _
"WHERE (V.CodProd=P.Codprod) and (V.Fecha=#" & Format(CDate(mskFecha),"yyyy-mm-dd") & "#) " & _
"GROUP BY P.CodProd, P.Producto, P.Precio"
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:CONSULTAR FECHAS

Publicado por Dante (40 intervenciones) el 07/08/2004 15:31:18
Sergio:
lo que dice Cecilia es 100% correcto, pero puede que vivas 'tapando agujeros' y emparchando.... te aconsejo que le des el mismo formato tanto al campo de la base como a la fecha que pasas en la consulta. este formato NO debe ser dd/mm/yyyy, y te aconsejo que utlices mm/dd/yyyy ya que es el que utiliza el motor JET internamente. O sea que no solo no tendràs incovenientes sino que tus consultas seràn màs ràpidas

Cuando comencè a tener estos problemas, emepecè a guardar la fecha formateada, o sea que la guardo como un nùmero yyyymmdd, y si es un Time Stamp mejor aùn yyyymmddhhmmss ya que utilizo menos recursos de disco (ocupa menos espacio) y agilizo la bùqueda
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:CONSULTAR FECHAS

Publicado por Cecilia Colalongo (3116 intervenciones) el 07/08/2004 15:45:41
El formato yyyy-mm-dd no es un invento mío sino que se define en el estándar SQL-92 (http://msdn.microsoft.com/library/en-us/odbc/htm/odbcdate__time__and_timestamp_literals.asp) por otra parte el motor JET y en general los proveedores OLE DB trabajan con el formato definido en la configuración regional que es independiente del que se utiliza para las llamadas.

En cuanto a guardar las fechas como números, por alguna razón se inventaron los tipos de datos de fechas y horas, las diferencias en bytes que puede haber entre un número y una fecha son despreciables y no se agilizan búsquedas por eso (medidas en ciclos de procesador).
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:CONSULTAR FECHAS

Publicado por Dante (40 intervenciones) el 07/08/2004 16:03:37
Cecilia:
no tuve intencion de subestimarte, ni menospreciar tu respuesta: si así lo entendiste, te pido sinceras disculpas.

espero sean aceptadas
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:CONSULTAR FECHAS

Publicado por SERGIO (7 intervenciones) el 08/08/2004 17:09:32
Muchisimas gracias a los 2 (de verdad).
Me habeis sacado de un apuro.

Al final he escogido la propuesta de Cecilia, ya q por medio de esta forma, no tengo que cambiar toda la estructura que le había dado inicialmente al proyecto. Además funciona xq lo he probado.

Muchas, Muchas, Muchas gracias!!! a los 2.
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