Duda con consulta sobre Access

25/07/2006 - 19:07 por Lope | Informe spam
Buenas.

Estoy haciendo una aplicacion con VB 2003 que trabaja sobre una base de
datos Access 2003. En un grid quiero que me muestre los registros de los
trabajadores cuyo campo "Fecha_Baja" sea mayor al día de hoy. El código
es el siguiente:


strSQLEmpleados = "SELECT Trabajadores.* FROM Trabajadores WHERE
((Trabajadores.Fecha_Baja)>"
strSQLEmpleados &= Now.Date
strSQLEmpleados &= ")"

Dim objAdaptadorDatos As New OleDbDataAdapter(strSQLEmpleados, objConx)
Dim objDS As New DataSet("Empleados")
objAdaptadorDatos.Fill(objDS, "Empleados")

...
-

Sin embargo ¡no funciona! Muestra todos los trabajadores que tienen
algún valor en el campo "Fecha_Baja" sin importarle cual sea el valor de
ese campo.

¿Alguna sugerencia?

Gracias.
 

Leer las respuestas

#1 Alberto Poblacion
25/07/2006 - 20:44 | Informe spam
"Lope" wrote in message
news:
Estoy haciendo una aplicacion con VB 2003 que trabaja sobre una base de
datos Access 2003. En un grid quiero que me muestre los registros de los
trabajadores cuyo campo "Fecha_Baja" sea mayor al día de hoy. El código es
el siguiente:


strSQLEmpleados = "SELECT Trabajadores.* FROM Trabajadores WHERE
((Trabajadores.Fecha_Baja)>"
strSQLEmpleados &= Now.Date strSQLEmpleados &= ")"

Dim objAdaptadorDatos As New OleDbDataAdapter(strSQLEmpleados, objConx)
Dim objDS As New DataSet("Empleados")
objAdaptadorDatos.Fill(objDS, "Empleados")

Sin embargo ¡no funciona!



El problema es que Access espera encontrarse las fechas en un formato
peculiar (creo que era algo asi como "#aa/mm/dd hh:mm#" o algo parecido).
Para no tener que preocuarse de los formatos, lo mejor es parametrizar la
sentencia:

strSQLEmpleados = "SELECT * FROM Trabajadores WHERE Fecha_Baja>?"
Dim objAdaptadorDatos As New OleDbDataAdapter(strSQLEmpleados, objConx)
objAdaptadorDatos.SelectCommand.Parameters.Add("p1", DateTime.Now)
Dim objDS As New DataSet("Empleados")
objAdaptadorDatos.Fill(objDS, "Empleados")

Preguntas similares