Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

busqueda por rango de fecha

Estas en el tema de busqueda por rango de fecha en el foro de Visual Basic clásico en Foros del Web. HOla amigos del foro me pueden ayudar con el siguiente problemita: necesito realizar una busqueda por rango de fechas en una tabla access 2000 con ...
  #1 (permalink)  
Antiguo 03/01/2008, 11:50
Avatar de juancho24  
Fecha de Ingreso: octubre-2007
Mensajes: 101
Antigüedad: 16 años, 6 meses
Puntos: 1
Pregunta busqueda por rango de fecha

HOla amigos del foro

me pueden ayudar con el siguiente problemita:

necesito realizar una busqueda por rango de fechas en una tabla access 2000 con coneccion ADO y k me muestre los resultados en una grilla, el rango de fechas es seleccionado en dos textbox, el primero desde que fecha y el segundo hasta que fecha, y luego al presionar un boton buscar me muestre los resultados en la grilla

eso, espero me puedan ayudar,

gracias

saludos

Última edición por juancho24; 03/01/2008 a las 12:05
  #2 (permalink)  
Antiguo 07/01/2008, 14:33
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: busqueda por rango de fecha

Cita:
Iniciado por juancho24 Ver Mensaje
HOla amigos del foro

me pueden ayudar con el siguiente problemita:

necesito realizar una busqueda por rango de fechas en una tabla access 2000 con coneccion ADO y k me muestre los resultados en una grilla, el rango de fechas es seleccionado en dos textbox, el primero desde que fecha y el segundo hasta que fecha, y luego al presionar un boton buscar me muestre los resultados en la grilla

eso, espero me puedan ayudar,

gracias

saludos
la sentencia es algo así

"select * from tabla where fecha between '#01/01/2007#' and '#31/12/2007#'"

si no te funciona asi quita los numerales
despues las fechas las reemplazas por dtpickers o bien textbox

nos vemos
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 19/02/2008, 09:21
Avatar de juancho24  
Fecha de Ingreso: octubre-2007
Mensajes: 101
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: busqueda por rango de fecha

Cita:
Iniciado por GeoAvila Ver Mensaje
la sentencia es algo así

"select * from tabla where fecha between '#01/01/2007#' and '#31/12/2007#'"

si no te funciona asi quita los numerales
despues las fechas las reemplazas por dtpickers o bien textbox

nos vemos

Hola amigo GeoAvila

una consulta, tienes algun ejemplo acerca de esta consulta que me puedas enviar porfavor, te lo agradeceria mucho

te cuidas

bye
  #4 (permalink)  
Antiguo 19/02/2008, 15:14
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: busqueda por rango de fecha

Especifica si es vb6 o .net

En visualbasic6.0 lo hice de esta manera

Private Sub cmdBusqueda_Click()
Select Case List1.ListIndex
Case 0
rsLectores.Filter = "" & List1 & " = '" & Text1 & "'"
Case 1 To 2
rsLectores.Filter = "" & List1 & " LIKE '" & Text1 + "%" & "'"
Case 3
rsLectores.Filter = "" & List1 & " >= '" & dtpDesde & "' and " & List1 & " <= '" & dtpHasta & "'"
End Select
If rsLectores.RecordCount <= 0 Then
MsgBox "No se encontro ningun registro"
Text1 = ""
Text1.SetFocus
End If
End Sub

Cambia los controles dtpicker por los text y el list1 por el campo de busqueda

saludos
  #5 (permalink)  
Antiguo 05/03/2008, 19:31
Avatar de juancho24  
Fecha de Ingreso: octubre-2007
Mensajes: 101
Antigüedad: 16 años, 6 meses
Puntos: 1
Pregunta Re: busqueda por rango de fecha

Amigos ayudenme porfavor, no se en que estoy fallando para k me realice la busqueda por rangos de fechas, se los agradecere muchoo, es urgente

aqui les dejo el codigo para k me ayuden


Private Sub Command1_Click()
Dim sql As String

sql = " SELECT DATOSVISITADOR.RutVisitador, DATOSVISITADOR.DvVisitador, DATOSVISITADOR.NombreVisitador, DATOSCLIENTE.RutCliente, DATOSCLIENTE.DvCliente, DATOSCLIENTE.NombreCliente, OBSERVACIONESGENERALES.MontoCredito, OBSERVACIONESGENERALES.PlazoCredito, OBSERVACIONESGENERALES.NombrePersonaAtendio, OBSERVACIONESGENERALES.HoraVisita, OBSERVACIONESGENERALES.Fecha "
sql = sql & "FROM (DATOSCLIENTE INNER JOIN (DATOSVISITADOR INNER JOIN VISITAS ON (DATOSVISITADOR.DvVisitador = VISITAS.DvVisitador) AND (DATOSVISITADOR.RutVisitador = VISITAS.RutVisitador)) ON (DATOSCLIENTE.ID = VISITAS.ID) AND (DATOSCLIENTE.DvCliente = VISITAS.DvCliente) AND (DATOSCLIENTE.RutCliente = VISITAS.RutCliente)) LEFT JOIN OBSERVACIONESGENERALES ON (VISITAS.DvCliente = OBSERVACIONESGENERALES.DvCliente) AND (VISITAS.RutCliente = OBSERVACIONESGENERALES.RutCliente) AND (VISITAS.ID = OBSERVACIONESGENERALES.ID);"
rs1.Open sql & "WHERE (((OBSERVACIONESGENERALES.FECHA)= #" & Format(Txtfechainicio.Text, "mm/dd/yyyy") & "# and #" & Format(txtfechafin.Text, "mm/dd/yyyy") & "#", cnn1, adOpenDynamic, adLockOptimistic

If rs1.BOF = False And rs1.EOF = False Then
If Txtfechainicio.Text <> "" Or txtfechafin.Text <> "" Then
If rs1("fecha") = Txtfechainicio.Text And txtfechafin.Text Then
Call CargarDataGrid(DataGrid1)
Else
MsgBox ("no hay datos para cargar"), vbInformation
End If
Else
MsgBox ("Debe seleccionar un dato"), vbCritical
com_grupo.Enabled = True
End If
Else
MsgBox ("La tabla no tiene registros"), vbCritical

End If

End Sub


gracias

saludos

Juan
  #6 (permalink)  
Antiguo 06/03/2008, 11:27
Avatar de juancho24  
Fecha de Ingreso: octubre-2007
Mensajes: 101
Antigüedad: 16 años, 6 meses
Puntos: 1
Pregunta Re: busqueda por rango de fecha

POrfavor ayudenme que es urgente amigos
gracias

saludos


Cita:
Iniciado por franko1809 Ver Mensaje
Especifica si es vb6 o .net

En visualbasic6.0 lo hice de esta manera

Private Sub cmdBusqueda_Click()
Select Case List1.ListIndex
Case 0
rsLectores.Filter = "" & List1 & " = '" & Text1 & "'"
Case 1 To 2
rsLectores.Filter = "" & List1 & " LIKE '" & Text1 + "%" & "'"
Case 3
rsLectores.Filter = "" & List1 & " >= '" & dtpDesde & "' and " & List1 & " <= '" & dtpHasta & "'"
End Select
If rsLectores.RecordCount <= 0 Then
MsgBox "No se encontro ningun registro"
Text1 = ""
Text1.SetFocus
End If
End Sub

Cambia los controles dtpicker por los text y el list1 por el campo de busqueda

saludos
  #7 (permalink)  
Antiguo 06/03/2008, 12:07
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: busqueda por rango de fecha

Una consulta que me parece demasiado complicada, es decir, demasiados paréntesis sin sentido. ¿ pero, probaste con la primera respuesta que te dieron?


"WHERE (((OBSERVACIONESGENERALES.FECHA) BETWEEN #" & Format(Txtfechainicio.Text, "mm/dd/yyyy") & "# and #" & Format(txtfechafin.Text, "mm/dd/yyyy") & "#",

Aunque creo que, si las fechas vienen de unos TextBox no necesitas hacer el formato de conversión.

Prueba así:
"WHERE (((OBSERVACIONESGENERALES.FECHA) BETWEEN #" & Txtfechainicio & "# AND #" & txtfechafin & "#",
  #8 (permalink)  
Antiguo 06/03/2008, 14:21
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: busqueda por rango de fecha

Cita:
Iniciado por Avellaneda Ver Mensaje
Una consulta que me parece demasiado complicada, es decir, demasiados paréntesis sin sentido. ¿ pero, probaste con la primera respuesta que te dieron?


"WHERE (((OBSERVACIONESGENERALES.FECHA) BETWEEN #" & Format(Txtfechainicio.Text, "mm/dd/yyyy") & "# and #" & Format(txtfechafin.Text, "mm/dd/yyyy") & "#",

Aunque creo que, si las fechas vienen de unos TextBox no necesitas hacer el formato de conversión.

Prueba así:
"WHERE (((OBSERVACIONESGENERALES.FECHA) BETWEEN #" & Txtfechainicio & "# AND #" & txtfechafin & "#",
Por experiencia con Acces te recomiendo que SI hagas la conversion a mm/dd/yyyy ya que Access hace el tonto si se lo pasas por dd/mm/yyyy aunque yo para más seguridad lo formateo a yyyy/mm/dd que es el formato "universal" (esto de universal está muy cogido por los pelos eh..)
  #9 (permalink)  
Antiguo 06/03/2008, 14:31
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: busqueda por rango de fecha

Por cierto, la sentencia SQL que tienes es.. guapa eh jejejeje en serio, si ves que te va mal mira de filtrarlo por yyyy/mm/dd (aunque con mm/dd/yyyy deberia de irte bien).

Por cierto, respecto el código que va después de la SQL... te corregiria lo siguiente:

If not (rs1.BOF And rs1.EOF) Then 'Es más fácil de leer con el not, no crees?
If isdate(Txtfechainicio) Or isdate(txtfechafin) Then 'Para que haces la comprobación si ya has hecho la SQL? lo lógico seria hacer este filtro al principio de todo ya que si abres el recordset sin fecha te va a pegar un pedo de aquí a HonoLulu (o como se escriba). y utilizaria el isdate en vez de ""

'Creo que aquí pretendres preguntar que si la fecha del rs1 es igual al txtfechainicio y al tctfechafin, no? pues te falta otro =

If rs1("fecha") = Txtfechainicio.Text And rs1("fecha") = txtfechafin.Text Then
Call CargarDataGrid(DataGrid1)
Else
MsgBox ("no hay datos para cargar"), vbInformation
End If
Else
MsgBox ("Debe seleccionar un dato"), vbCritical
com_grupo.Enabled = True
End If
Else
MsgBox ("La tabla no tiene registros"), vbCritical

End If

End Sub
  #10 (permalink)  
Antiguo 08/03/2008, 21:16
Avatar de juancho24  
Fecha de Ingreso: octubre-2007
Mensajes: 101
Antigüedad: 16 años, 6 meses
Puntos: 1
De acuerdo Re: busqueda por rango de fecha

Amigos me sale un error que no se a que se debe, por favor ayudenme, aqui les dejo el codigo marcado en donde me sale el error:

Error'-2147217900 (80040e14)`en tiempo de ejecucion:
se encontraron caracteres despúes del final de la instrucción SQL.



sql = " SELECT DATOSVISITADOR.RutVisitador, DATOSVISITADOR.DvVisitador, DATOSVISITADOR.NombreVisitador, DATOSCLIENTE.RutCliente, DATOSCLIENTE.DvCliente, DATOSCLIENTE.NombreCliente, OBSERVACIONESGENERALES.MontoCredito, OBSERVACIONESGENERALES.PlazoCredito, OBSERVACIONESGENERALES.NombrePersonaAtendio, OBSERVACIONESGENERALES.HoraVisita, OBSERVACIONESGENERALES.Fecha "
sql = sql & "FROM (DATOSCLIENTE INNER JOIN (DATOSVISITADOR INNER JOIN VISITAS ON (DATOSVISITADOR.DvVisitador = VISITAS.DvVisitador) AND (DATOSVISITADOR.RutVisitador = VISITAS.RutVisitador)) ON (DATOSCLIENTE.ID = VISITAS.ID) AND (DATOSCLIENTE.DvCliente = VISITAS.DvCliente) AND (DATOSCLIENTE.RutCliente = VISITAS.RutCliente)) LEFT JOIN OBSERVACIONESGENERALES ON (VISITAS.DvCliente = OBSERVACIONESGENERALES.DvCliente) AND (VISITAS.RutCliente = OBSERVACIONESGENERALES.RutCliente) AND (VISITAS.ID = OBSERVACIONESGENERALES.ID);"
rs1.Open sql & "(WHERE OBSERVACIONESGENERALES.FECHA BETWEEN #" & Txtfechainicio & "# AND #" & txtfechafin & "#)", cnn1, adOpenDynamic, adLockOptimistic

les agradesco su ayuda

saludos


Cita:
Iniciado por extrem_bcn Ver Mensaje
Por cierto, la sentencia SQL que tienes es.. guapa eh jejejeje en serio, si ves que te va mal mira de filtrarlo por yyyy/mm/dd (aunque con mm/dd/yyyy deberia de irte bien).

Por cierto, respecto el código que va después de la SQL... te corregiria lo siguiente:

If not (rs1.BOF And rs1.EOF) Then 'Es más fácil de leer con el not, no crees?
If isdate(Txtfechainicio) Or isdate(txtfechafin) Then 'Para que haces la comprobación si ya has hecho la SQL? lo lógico seria hacer este filtro al principio de todo ya que si abres el recordset sin fecha te va a pegar un pedo de aquí a HonoLulu (o como se escriba). y utilizaria el isdate en vez de ""

'Creo que aquí pretendres preguntar que si la fecha del rs1 es igual al txtfechainicio y al tctfechafin, no? pues te falta otro =

If rs1("fecha") = Txtfechainicio.Text And rs1("fecha") = txtfechafin.Text Then
Call CargarDataGrid(DataGrid1)
Else
MsgBox ("no hay datos para cargar"), vbInformation
End If
Else
MsgBox ("Debe seleccionar un dato"), vbCritical
com_grupo.Enabled = True
End If
Else
MsgBox ("La tabla no tiene registros"), vbCritical

End If

End Sub
  #11 (permalink)  
Antiguo 09/03/2008, 02:59
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: busqueda por rango de fecha

Es por el punto y coma que pones al final de la sentencia sql. Además debes quitar los paréntesis en la instrucción Open del recordset. En fin, prueba poniendo el código así:

Código:
Dim sql As String
If Txtfechainicio.Text = "" Or Txtfechafin.Text = "" Then
    MsgBox ("Debe seleccionar un dato"), vbCritical
    com_grupo.Enabled = True
    Exit Sub
End If
rs1.CursorLocation = adUseClient
sql = " SELECT DATOSVISITADOR.RutVisitador, DATOSVISITADOR.DvVisitador, DATOSVISITADOR.NombreVisitador, DATOSCLIENTE.RutCliente, DATOSCLIENTE.DvCliente, DATOSCLIENTE.NombreCliente, OBSERVACIONESGENERALES.MontoCredito, OBSERVACIONESGENERALES.PlazoCredito, OBSERVACIONESGENERALES.NombrePersonaAtendio, OBSERVACIONESGENERALES.HoraVisita, OBSERVACIONESGENERALES.Fecha "
sql = sql & "FROM (DATOSCLIENTE INNER JOIN (DATOSVISITADOR INNER JOIN VISITAS ON (DATOSVISITADOR.DvVisitador = VISITAS.DvVisitador) AND (DATOSVISITADOR.RutVisitador = VISITAS.RutVisitador)) ON (DATOSCLIENTE.ID = VISITAS.ID) AND (DATOSCLIENTE.DvCliente = VISITAS.DvCliente) AND (DATOSCLIENTE.RutCliente = VISITAS.RutCliente)) LEFT JOIN OBSERVACIONESGENERALES ON (VISITAS.DvCliente = OBSERVACIONESGENERALES.DvCliente) AND (VISITAS.RutCliente = OBSERVACIONESGENERALES.RutCliente) AND (VISITAS.ID = OBSERVACIONESGENERALES.ID)"
rs1.Open sql & "WHERE OBSERVACIONESGENERALES.FECHA BETWEEN #" & Txtfechainicio & "# AND #" & Txtfechafin & "#", cnn1, adOpenDynamic, adLockOptimistic

If rs1.RecordCount > 0 Then
    Call CargarDataGrid(DataGrid1)
Else
    MsgBox ("no hay datos para cargar"), vbInformation
End If
Aún así, creo que la sentencia es demasiado recargada y con demasiadas comparaciones:

(DATOSCLIENTE.ID = VISITAS.ID) AND (DATOSCLIENTE.DvCliente = VISITAS.DvCliente) AND (DATOSCLIENTE.RutCliente = VISITAS.RutCliente)

¿No sería igual comparar solamente el ID? los demás campos, se supone que siempre son iguales.
  #12 (permalink)  
Antiguo 09/03/2008, 17:45
Avatar de juancho24  
Fecha de Ingreso: octubre-2007
Mensajes: 101
Antigüedad: 16 años, 6 meses
Puntos: 1
Pregunta Re: busqueda por rango de fecha

Gracias a todos por la ayuda que me han dado, espero porfavor me sigan ayudando con lo siguiente, miren ya no me salen errores en codigo, me muestra datos buscados en la grilla pero no todos, solo me muestra el primer dato de la tabla, me muestra la linea del primer registro, a k se puede deber esto?

ayudenme porfavor

les dejo el ultimo codigo que tengo

gracias

Private Sub Command1_Click()


Dim sql As String

sql = " SELECT DATOSVISITADOR.RutVisitador, DATOSVISITADOR.DvVisitador, DATOSVISITADOR.NombreVisitador, DATOSCLIENTE.RutCliente, DATOSCLIENTE.DvCliente, DATOSCLIENTE.NombreCliente, OBSERVACIONESGENERALES.MontoCredito, OBSERVACIONESGENERALES.PlazoCredito, OBSERVACIONESGENERALES.NombrePersonaAtendio, OBSERVACIONESGENERALES.HoraVisita, OBSERVACIONESGENERALES.Fecha "
sql = sql & "FROM (DATOSCLIENTE INNER JOIN (DATOSVISITADOR INNER JOIN VISITAS ON (DATOSVISITADOR.DvVisitador = VISITAS.DvVisitador) AND (DATOSVISITADOR.RutVisitador = VISITAS.RutVisitador)) ON (DATOSCLIENTE.ID = VISITAS.ID) AND (DATOSCLIENTE.DvCliente = VISITAS.DvCliente) AND (DATOSCLIENTE.RutCliente = VISITAS.RutCliente)) LEFT JOIN OBSERVACIONESGENERALES ON (VISITAS.DvCliente = OBSERVACIONESGENERALES.DvCliente) AND (VISITAS.RutCliente = OBSERVACIONESGENERALES.RutCliente) AND (VISITAS.ID = OBSERVACIONESGENERALES.ID)"
rs1.Open sql & "WHERE OBSERVACIONESGENERALES.FECHA BETWEEN #" & txtFechaInicio & "# AND #" & txtfechafin & "#", cnn1, adOpenDynamic, adLockOptimistic

If rs1.BOF = False And rs1.EOF = False Then
If txtFechaInicio.Text <> "" Or txtfechafin.Text <> "" Then
If rs1("fecha") >= txtFechaInicio.Text And rs1("fecha") <= txtfechafin.Text Then
rs1.MoveNext
Call CargarDataGrid(DataGrid1)
Else
MsgBox ("no hay datos para cargar"), vbInformation
End If
Else
MsgBox ("Debe seleccionar un dato"), vbCritical
com_grupo.Enabled = True
End If
Else
MsgBox ("La tabla no tiene registros"), vbCritical

End If

End Sub





Cita:
Iniciado por Avellaneda Ver Mensaje
Es por el punto y coma que pones al final de la sentencia sql. Además debes quitar los paréntesis en la instrucción Open del recordset. En fin, prueba poniendo el código así:

Código:
Dim sql As String
If Txtfechainicio.Text = "" Or Txtfechafin.Text = "" Then
    MsgBox ("Debe seleccionar un dato"), vbCritical
    com_grupo.Enabled = True
    Exit Sub
End If
rs1.CursorLocation = adUseClient
sql = " SELECT DATOSVISITADOR.RutVisitador, DATOSVISITADOR.DvVisitador, DATOSVISITADOR.NombreVisitador, DATOSCLIENTE.RutCliente, DATOSCLIENTE.DvCliente, DATOSCLIENTE.NombreCliente, OBSERVACIONESGENERALES.MontoCredito, OBSERVACIONESGENERALES.PlazoCredito, OBSERVACIONESGENERALES.NombrePersonaAtendio, OBSERVACIONESGENERALES.HoraVisita, OBSERVACIONESGENERALES.Fecha "
sql = sql & "FROM (DATOSCLIENTE INNER JOIN (DATOSVISITADOR INNER JOIN VISITAS ON (DATOSVISITADOR.DvVisitador = VISITAS.DvVisitador) AND (DATOSVISITADOR.RutVisitador = VISITAS.RutVisitador)) ON (DATOSCLIENTE.ID = VISITAS.ID) AND (DATOSCLIENTE.DvCliente = VISITAS.DvCliente) AND (DATOSCLIENTE.RutCliente = VISITAS.RutCliente)) LEFT JOIN OBSERVACIONESGENERALES ON (VISITAS.DvCliente = OBSERVACIONESGENERALES.DvCliente) AND (VISITAS.RutCliente = OBSERVACIONESGENERALES.RutCliente) AND (VISITAS.ID = OBSERVACIONESGENERALES.ID)"
rs1.Open sql & "WHERE OBSERVACIONESGENERALES.FECHA BETWEEN #" & Txtfechainicio & "# AND #" & Txtfechafin & "#", cnn1, adOpenDynamic, adLockOptimistic

If rs1.RecordCount > 0 Then
    Call CargarDataGrid(DataGrid1)
Else
    MsgBox ("no hay datos para cargar"), vbInformation
End If
Aún así, creo que la sentencia es demasiado recargada y con demasiadas comparaciones:

(DATOSCLIENTE.ID = VISITAS.ID) AND (DATOSCLIENTE.DvCliente = VISITAS.DvCliente) AND (DATOSCLIENTE.RutCliente = VISITAS.RutCliente)

¿No sería igual comparar solamente el ID? los demás campos, se supone que siempre son iguales.
  #13 (permalink)  
Antiguo 10/03/2008, 00:23
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: busqueda por rango de fecha

el último código? pero si es el mismo de siempre ...
Además ... mucho caso de los consejos no haces... anteriormente te dije que seria mejor cambiar esta línea:

If txtFechaInicio.Text <> "" Or txtfechafin.Text <> "" Then

por esta


If isdate(txtFechaInicio) Or isdate(txtfechafin.Text) Then

Y que de poco servia ponerla cuando ya has abierto el recordset ..... ya que si en el txt introduzco letras que pasará? pues que te colará todo ... o ... y si introduzco 30/02/07? pues que tambien colará ... (el 30 del 02 no existe..)

un consejo (esta vez no sobre código): intenta desglosar el problema... pegar todo el código del proyecto aquí no es la mejor solución... donde está el error (en teoria) es en la SQL así que centrate en eso ... y explica un poco la estructura de la tabla.

Saludos y suerte...
  #14 (permalink)  
Antiguo 13/02/2010, 02:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Re: busqueda por rango de fecha

Cita:
Iniciado por Avellaneda Ver Mensaje
Una consulta que me parece demasiado complicada, es decir, demasiados paréntesis sin sentido. ¿ pero, probaste con la primera respuesta que te dieron?


"WHERE (((OBSERVACIONESGENERALES.FECHA) BETWEEN #" & Format(Txtfechainicio.Text, "mm/dd/yyyy") & "# and #" & Format(txtfechafin.Text, "mm/dd/yyyy") & "#",

Aunque creo que, si las fechas vienen de unos TextBox no necesitas hacer el formato de conversión.

Prueba así:
"WHERE (((OBSERVACIONESGENERALES.FECHA) BETWEEN #" & Txtfechainicio & "# AND #" & txtfechafin & "#",
Hola oye yo tengo un problema similar al que se esta mencionado, solo que aparte de necesitar hacer una búsqueda en un rango de fechas necesito también obtener los registros que tienen una marca en un campo boolean, solo que al hacer la consulta tanto en visual como en access solo me da como resultado los registros de las fechas especificadas pero que en el campo de la marca tienen falso y yo necesito los de verdadero, lo estoy realizando de esta manera:

rs.Open "SELECT * From tabla where campo_marca=true and fecha between #& Format(Text1.Text, "dd/mm/yyyy") & "# and #" & Format(Text2.Text, "dd/mm/yyyy") & "# "

Como le puedo hacer?. Espero me puedas ayudar por favor, muchas gracias =)
  #15 (permalink)  
Antiguo 13/02/2010, 04:07
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: busqueda por rango de fecha

Hola usuario_16

Te recuerdo el aviso que había al final de este tema y que parece que no has leído.



Tema cerrado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 06:07.