Abrir registros de formulario, en base a rango de fechas

Como puedo abrir registros de una tabla mediante de un botón de comando en un formulario, ¿en base al rengo de fechas que defina el usuario?

Tengo Un cuadro de texto para la fecha de inicio y otro para la fecha final,, ambos cuadros se llaman Fecha_Inio y Fecha_ Final, respectivamente. ¿Lo qué necesito saber es que codigo debo poner en el botón de comando?

1 respuesta

Respuesta
1

Abrir la tabla como tal no puedes, las tablas no tienen código. Puedes hacerlo en una consulta. Vamos a suponer que tienes un campo FechaContrato, en la consulta, en Criterios debajo de ese campo puedes poner

Entre [Escriba una fecha inicial] y [Escriba una fecha final]

Con lo que en el botón bastaría con poner

Docmd. Openquery"nombre de la consulta"

Así, cuando pulsaras el botón, te preguntaría lo de fecha inicial, la escribes aceptas y te pedirá la fecha final. La escribes, aceptas y se abre la consulta con los registros comprendidos entre ellas.

En caso de que quieras mantener los dos cuadros de texto, en la casilla criterios pon

[forms]![formulario1]![fechainicial] Y [forms]![formulario1]![fechafinal]

Y en el botón lo mismo de openquery

Si lo que quieres es que el mismo formulario te presente los resultados, en el botón puedes poner algo como

me.recordsource="select * from pedidos where fecha contrato between #" & me.fechainicial & "# and #" & me.fechafinal & "#"

Justo lo que necesito, Julian

Amigo, tengo otra cuestión parecida a la anterior  en la que,  te ruego, me eches una manita, a ver si soy capaz de armarla

A ver,, te cuento.

En este formulario  "F_Anotacion_Contable" que depende de la tabla "T_Contabilidad" tengo dos botones de comando que me permiten ver los gastos e Ingresos, respectivamente, par lo cual les he puesto el condigo DoCmd.OpenForm "FHD_Contabilidad", acFormDS, , "Tipo Like'" & "Ingreso" & "'" Esto, una vez abierto el formulario,  nos permite abrir el registro que interese.

La Idea es montar un sistema de búsqueda de registros que nos permita sacar los registros según los criterios declarados por el usuario en los campos independientes de la izquierda.

Tú, como lo harías Julian

José María, hace ya bastantes días que esta puñetera página ni avisa de las preguntas, por lo que de casualidad he visto que repreguntabas.

En la instrucción Openform puedes poner hasta 99 criterios AND ó OR. Me explico, podrías poner algo como( si ingreso no es un control, sino simplemente un nombre)

Docmd.openform"FHD_Contabilidad",,,"tipo =""Ingreso"" and concepto='" & me.concepto & "' and proveedor='" & me.proveedor & "' and fecha between #" & me.fechainicio & "# and #" & me.fechafinal & #""

He supuesto que los combinados se llaman concepto y proveedor, y que ambos son texto, y que los cuadro de texto se llaman FechaInicio y Fechafinal.

¡Gracias! Si así se llaman. Esto puede valer así

Es cierto que la página ha estado dando problemas, a mi no me ha dejado hacer más preguntas.

Buenas tardes Julián:

¿Qué código tendría que poner en una consulta para abrir un informe por rango de fechas definidas por el usuario en un formulario?

Me explico:

Tengo un formulario independiente "FRN_INF_Contable" con dos campos "Fecha_Inicio" y "Fecha_Fianal" y un combobox "Tipo" para elegir una opción de criterio. Con la opción de criterio funciona bien, pero si pongo rango de fechas, no me saca nada.

Creo que la expresión que le he puesto en el rango de fechas de la consulta no es correcta.

Por favor, échale un vistazo y dime donde la he cagao.

GRACIAS

En la expresión de criterio de fecha falta Entre

Entre forms!... y forms!...

Pero José María, puedes hacerlo de muchas formas. Por ejemplo, supongamos que tengo un informe hecho con la tabla Pedidos, y tengo un formulario Formulario1

Si pulso directamente el botón Abrir informe

Escribo una, acepto y

Escribo otra, acepto y

En este caso, el código del botón es

Private Sub Comando301_Click()
DoCmd.OpenReport "pedidos", acViewPreview, , "fechapedido between [Escriba una fecha inicial en formato dd/mm/aaaa] and [Escriba una fecha final, mismo formato]"
End Sub

Vamos ahora con lo de abajo. Si en los cuadros de texto llamados FInicial y Ffinal escribo dos fechas

Al pulsar el botón de la derecha

En este caso el código del botón de la derecha es

Private Sub Comando306_Click()
DoCmd.OpenReport "pedidos", acPreview, , "fechapedido between #" & Me.FInicial & "# and #" & Me.FFinal & "#"
End Sub

También puedes crear una consulta( a mi no me gustan) y usarla como origen del informe

Así, cuando en el formulario escribas las dos fecha y pulses el botón se abrirá el informe con los registros comprendidos entre esas dos fecha.

En este caso, el código del botón es, simplemente

Private Sub Comando306_Click()
DoCmd.OpenReport "pedidos", acPreview
End Sub

También puedes completar las instrucciones con If Isnull([finicial])..., etc por si te hubieras dejado, por descuido, un cuadro de texto en blanco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas