No, me refiero a que te deje introducir la fecha de inicio y final a través de un formulario o msgbox, sin la necesidad de tener que abrir la conulta y cambiar de fechas cada 2 x 3
Estoy realizando una base de datos la cual realize una busqueda por un rango de un campo ya sea numerico o cadena, esto lo habia hecho para un campo fecha sin problemas, alguien podria decirme como lo hago con un campo numerico o de cadena.
El codigo lo tego en visual basic, agradeceria mucho a quien me muestre como hacerlo, el codigo es el siguiente:
espero te sirva jonvd,
Private Sub cmdExecute_Click()
Dim strSQL As String
Dim db As Database
Dim dc As Recordset
Dim qrySales As QueryDef
Set db = DBEngine.Workspaces(0).OpenDatabase _
("C:\Sistemas\Proyecto de Vehiculos\Vehiculos.mdb")
Set qrySales = db.CreateQueryDef("", "PARAMETERS [Fecha de inicio] DateTime, " & _
"[Fecha de fin] DateTime; " & _
"SELECT DISTINCTROW Vehiculos.Numeco, " & _
"Vehiculos.Modelo, " & _
"Vehiculos.Kilometraje, " & _
"Orden.Fecha, Servicio.Tipo, Taller.Nombre " & _
"FROM Vehiculos INNER JOIN (Taller INNER JOIN " & _
"(Servicio INNER JOIN Orden ON Servicio.Numero = " & _
"Orden.Numero) ON Taller.Num = Orden.Num) ON " & _
"Vehiculos.Numeco = Orden.Numeco " & _
"WHERE (((Orden.Fecha) Between " & _
"[Fecha de inicio] And [Fecha de fin]))")
qrySales.Parameters("Fecha de inicio") = CDate(txtBegin)
qrySales.Parameters("Fecha de fin") = CDate(txtEnd)
Set dc = qrySales.OpenRecordset()
Set datSales.Recordset = dc
End Sub
Funciona para mostrar una busqueda en un rango de fechas.
hace la consulta, donde en el campo fecha, criterios escribi, entre[FechaInicio]y[fechaFin], despues los demas campos son los que vos quieras, de esa manera al ejecutarla te pedira que ingreses las dos fechas y listara los datos de acuerdo a los parametros ingresados, EL INFORME PARTE DE LA CONSULTA
Estoy realizando una base de datos la cual realize una busqueda por un rango de un campo ya sea numerico o cadena, esto lo habia hecho para un campo fecha sin problemas, alguien podria decirme como lo hago con un campo numerico o de cadena.
El codigo lo tego en visual basic, agradeceria mucho a quien me muestre como hacerlo, el codigo es el siguiente:
Private Sub cmdExecute_Click()
Dim strSQL As String
Dim db As Database
Dim dc As Recordset
Dim qrySales As QueryDef
Set db = DBEngine.Workspaces(0).OpenDatabase _
("C:\Sistemas\Proyecto de Vehiculos\Vehiculos.mdb")
Set qrySales = db.CreateQueryDef("", "PARAMETERS [Fecha de inicio] DateTime, " & _
"[Fecha de fin] DateTime; " & _
"SELECT DISTINCTROW Vehiculos.Numeco, " & _
"Vehiculos.Modelo, " & _
"Vehiculos.Kilometraje, " & _
"Orden.Fecha, Servicio.Tipo, Taller.Nombre " & _
"FROM Vehiculos INNER JOIN (Taller INNER JOIN " & _
"(Servicio INNER JOIN Orden ON Servicio.Numero = " & _
"Orden.Numero) ON Taller.Num = Orden.Num) ON " & _
"Vehiculos.Numeco = Orden.Numeco " & _
"WHERE (((Orden.Fecha) Between " & _
"[Fecha de inicio] And [Fecha de fin]))")
qrySales.Parameters("Fecha de inicio") = CDate(txtBegin)
qrySales.Parameters("Fecha de fin") = CDate(txtEnd)
Set dc = qrySales.OpenRecordset()
Set datSales.Recordset = dc
End Sub
Funciona para mostrar una busqueda en un rango de fechas.
1.- Campo FECHAINICIAL
2.- Campo FECHAFINAL
3.- Botón ACEPTAR
En el botón ACEPTAR ejecutar una MACRO de AbrirInforme que IMPRIMA EL INFORME QUE DESEES.
Dicho INFORME debe de estar BASADO en una Consulta.
La consulta la formas de la siguiente manera:
En el campo FECHA, te sitúas en CRITERIOS y con el botón derecho del ratón extraes Generar....
En la pantalla que te aparece escribes: ENTRE Forms!COMO_SE_LLAME_EL_FORMULARIO_ANTERIOR![FECHAINICIAL] Y Forms!COMO_SE_LLAME_EL_FORMULARIO_ANTERIOR![FECHAFINAL]
Salvas la consulta y punto.
Cada vez que quieras LISTAR el informe acude al formulario que has creado e introduce el RANGO DE FECHAS que desees.