Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Miguis en 15 de Octubre 2013, 18:44
-
SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" + NumEmp.Text + "#and [fecha] =#" + fecha1.Text + "#"
no me hace este filtro, necesito saber exactamente la sintáxis en VB6 para la fecha que estoy buscando, en la base de tabla checador fecha es de tipo fecha corta.
Por favor denme una mano. Gracias :)
-
¿Qué tipo de dato es fecha1 cuando lo has declarado en Visual BAsic?
¿Si haces la consulta:
SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" + NumEmp.Text + "#"
¿Te funciona correctamente aunque no te devuelva lo que quieres? (Es para comprobar si te conecta bien a la base de datos) y ¿qué tipo de base de datos es la que usas? Saludos
-
Gracias Javi in the sky mira fecha1.text es un objeto que esta proyectando una fecha cuyo formato es format(fecha1.text, "dd/mm/yyyy") y
el SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" + NumEmp.Text
sin el And se conecta perfectamente a la base de datos.... Pero ya agregandole el
+ "#and [fecha] =#" + fecha1.Text + "#" me dice que falta el operador que es error de syntaxis. ahora si lo pongo así:
SQL3 = "SELECT * FROM checador WHERE [NumEmp]=" + NumEmp.Text + " And [fecha] =#" + fecha1.TEXT + "#" quitandole al AND el signo de # no me hace el filtro.
Podrían ayudarme ya tengo rato con esto, y es el checador de la empresa donde trabajo,
gracias. ;)
-
¿Has probado a usar el operador & en lugar de el operador +? Es decir, la consulta quedaría así:
SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" & NumEmp.Text & "AND [fecha] =" & fecha1.Text & ""
Una cosa que deberías probar es ponerle una fecha concreta a ver si ejecuta la consulta, por ejemplo:
SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" & NumEmp.Text & "AND [fecha] =05/02/2013" & ""
Si te ejecuta esta consulta (con una fecha que tú quieras que tenga datos en la base de datos) ya habrás avanzado algo.
-
Por alguna razón que no entiendo no me sigue haciendo el filtro del SQL, cambiando el operador + por el que me enviaste &, lo que me dí cuenta es que anteriormente en la tabla de checador fecha estaba de tipo Texto y lo cambie a tipo fecha/hora y ahora tuve que hacer una tabla checador1, para tener fecha de tipo texto, entonces si me hizo el filtro...por la premura de mi tiempo y avanzar que ya tengo una semana con esto lo dejaré así...
pero me gustaría que lo siguieramos viendo. Quiero aprender esto... A donde puedo mandar mi programa para que vean el filtro detalladamente y mi base de datos.
Mi sentencia quedó:
SQL3 = "SELECT * FROM checador1 WHERE [NumEmp]= " + NumEmp.Text + "And [fecha] =" + "'" + fecha1.Text + "'"
Set mytable = Mydb3.OpenRecordset(SQL3, dbOpenDynaset)
If mytable.RecordCount > 0 Then
Set Data5.Recordset = mytable
If Not IsNull(mytable.Fields("hora1")) Then
hora1.Text = mytable.Fields("hora1")
End If
end if
y ahora si me muestra el campo hora1 de ese empleado y en esa fecha.
(Quiere decir que no me filtra por que no coincide el tipo de datos con mi sentencia SQL especialmente en las fechas).
-
Estimado! El aprendizaje de la programación es tarea de años y aún así ni los programadores expertos son capaces de resolverlo todo debido a la cantidad de lenguajes y versiones y cambios de tecnología, al final hay que ser como has hecho, práctico y resolver para seguir avanzando aunque no sea de la manera perfecta ::)