Consulta sql

Mi pregunta es sobre sql
Tengo un formulario(clientes) con un subformulario(Subform) y dos cuadros de texto(text1 y text2).
Quiero poner un rango de 2 fechas en los 2 textos(una fecha en cada uno)
Quiero que al oprimir un botón lea las fechas que están en los text y ejecute la búsqueda en el subformulario.
sql = "select * FROM Tabla1 WHERE FECHA Between #" & Text1.Text & "# And #" & Text2.Text & "#;"
Subform.Form.RecordSource = sql
Subform. Requery
La hice más o menos así pero me marca un error :
Se ha producido un error '2185' en tiempo de ejecucion; no se puede hacer referencia a una propiedad o a un método para un control a menos que el control tenga el enfoque.

1 Respuesta

Respuesta
1
Claro... en vez de la propiedad text utiliza la propiedad value, esta propiedad se utiliza cuando la caja tiene el enfoque, en cambio value no.. ademas formata las fechas, ya que sql y las consultas en general utilizan el formato internacional para fechas como Mes/Dia/año, entonces debería quedar así:
sql = "select * FROM Tabla1 WHERE FECHA Between #" & Format(Text1.Value,"MM/dd/yyyy") & "# And #" & (Text2.Value,"MM/dd/yyyy") & "#;"
Value es la propiedad por defecto, osea que no necesita nombrarla..puede quedar asi:
sql = "select * FROM Tabla1 WHERE FECHA Between #" & Format(Text1,"MM/dd/yyyy") & "# And #" & (Text2,"MM/dd/yyyy") & "#;"
Como ves, solo se nombra las cajas.
Att:telemaco
sql = "select * FROM Tabla1 WHERE FECHA Between #" & Format(Text1,"MM/dd/yyyy") & "# And #" & Format(Text2,"MM/dd/yyyy") & "#;"
Así queda la consulta, pero el problema que la fecha la reconoce como internacional, ¿y necesito poner en el texto dia/mes/año, como le puedo hacer?
Ya intente en format(text,"dd/MM/yyyy" y nada de nada
Disculpa la demora en contestar... haber, me comentas que necesitas en una CAJA DE TEXTO... ¿Colocar cómo formato dis/mes/año?, y no te deja?, porque puedes hacer que la caja de texto, te reconozca dd/mm/yyyy, para eso ve a la propiedad formato, en la ficha formato (se llaman igual).. y coloca:
dd/mm/aaaa
OJO NO yyyy sino aaaa
Ya que en diseño si tienes instalada la version en español, reconoce el año con a y no con y .. PERO SOLO DISEÑO.. ya que en la sentencia sql, DEBES DEJARLA ASÍ FORMATEADA COMO ESTA, te repito, Mes/dia/año...pero el año con Y
Ese es un pequeño inconveniente que tiene access, bueno no es inconveniente... pero a veces causda problemas..
Att:telemaco
Ok mire yo pongo en el text1 la fecha pr ejemplo 01/02/2006 (para mi seria 1 feb 2006) y ejecuto la búsqueda, pero resulta que en el subformulario me parecen las fechas 02/01/2006 osea (2 ene 2006), ami lo que me interesa es que en el subformulario aparezca por ej 01/02/2006 que es día mes año. ¿Se qué sql solo busca en formato internacional pero entonces que es lo que puedo hacer?
Gracias
Te propongo algo mejor... si quieres envíeme lo que tratas de hacer, osea las tablas y los formularios con subformualrios... te lo reviso y te lo envío resuelto, a:
[email protected]
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas