• Domingo 22 de Diciembre de 2024, 20:59

Autor Tema:  Duda En Filtros Datareport  (Leído 2723 veces)

TasQuin

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Duda En Filtros Datareport
« en: Martes 28 de Diciembre de 2004, 11:04 »
0
:huh: mi duda es como hago para que cuando quiera hacer un reporte de una determinda fecha, por ejemple  "15/diciembre/2004" al "25/12/2004" las introduzca y estas me generren un reporte entre estas dos fechas.

Sé que con los filtros se puede hacer una consulta de tipo numérico, pero con un solo filtro. lo que no se es como meter esta consulta en un solo filtro ya que utilizo dos opciones en un solo filtro, pero no me acepta las opciones AND OR >= ó <=

hice esta consulta y me sale de maravilla. pero lo que quiero es que el usuario cuando introduzca estas dos fechas le genere solo los movimientos que se hicieron entre estos rangos-

Dim Inempleado As Long
Inempleado = (Val(InputBox("Esciba la Clave del Empleado", "Clave del Empledo")))
If Inempleado = 0 Then
    MsgBox ("No Se Escribío Una Clave Valida")
    Exit Sub
Else
    emple.Todo_Grouping
    emple.rsTodo_Grouping.Requery
    If emple.rsTodo_Grouping.EOF = True Then
        MsgBox ("El Empleado No Existe")
        emple.rsTodo_Grouping.Close
        Exit Sub
    End If
    REPTRABAJOS.Refresh
    REPTRABAJOS.Show
End If

 :comp:
Si Alguien me podria ayudar, de antemano Mil Gracias

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Duda En Filtros Datareport
« Respuesta #1 en: Martes 28 de Diciembre de 2004, 17:22 »
0
Hola.

El código que muestras sirve realmente de poco... Analiza y estudia la clase instanciada por la variable 'emple' (que me da que no la has creado tu) y entérate de cómo funciona. Para filtrar datos usa una sentencia SQL con la correspondiente cláusula WHERE, que por supuesto admite los operadores AND, OR, <, >, etc, etc.

Suerte.

TasQuin

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Duda En Filtros Datareport
« Respuesta #2 en: Miércoles 29 de Diciembre de 2004, 08:08 »
0
;)  emple es la conexion que estoy haciendo con labase de datos lo que pasa es que son varios reportes los que estoy manejando, unas veces solo los uso por las tablas que se hacen referencia pero me dijeron que los agrupara a traves del dataenvironment y las consultas que se hacen a traves de SQL no si la puede regresar como generalmente la regresa en una consulta normal.

de todos modos lo estoy tratando de hacer a traves de lo que es el generador de SQL del environment, si pudieras decirme de un manual e sentecias para realizar las consultas
gracias

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Duda En Filtros Datareport
« Respuesta #3 en: Miércoles 29 de Diciembre de 2004, 12:15 »
0
Hola.

Emple es una clase creada por alguien, pero desde luego no es una clase Connection de ADO. Y lo deduzco más que nada por este método al que llamas:
Código: Text
  1.  
  2. emple.Todo_Grouping
  3.  
  4.  

Aparte de esto no consigo comprender lo que intentas explicarme... pero te diré que una forma sencilla de ir aprendiendo SQL es usar access y su generador de consultas. Primero crea una consulta mediante la vista 'Diseño' y luego usa su vista 'SQL' para examinar la correspondiente sentencia.

Chao.

TasQuin

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Duda En Filtros Datareport
« Respuesta #4 en: Jueves 30 de Diciembre de 2004, 06:25 »
0
:o ya entendí, gracias la consulta la logre de este modo desde el comando de la conexion del dataenvironment

select * from produccion where situacion=? and fecha>=? and fecha<=?
 desde las "intrucciones de SQL"

"emple" es el nombre que le puse al DATAENVIRONMENT
"RevTer" se llama mi conexion "revizar terminados"
"RevTer_Grouping" donde los agrupe para que me mostrara en el reporte

y dentro del del botón coloque lo siguiente  :comp:

Private Sub Terminados_Click()
Dim M, N As String
 
M = InputBox("DESDE LA FECHA:", "Introduzca la Fecha", "Día/Mes/Año")
If (Len(M) > 8) Or (Len(M) <= 6) Or Len(M) = 7 Or M = "" Then
MsgBox "       No es Una fecha valida" & Chr(13) & "El Formato es (Dia/Mes/Año)", 0 + 64
Exit Sub
End If

N = InputBox("HASTA LA FECHA DE:", "Introduzca la Fecha", DateTime.Date)
If (Len(N) > 8) Or (Len(N) <= 6) Or Len(N) = 7 Or N = "" Then
MsgBox "       No es Una fecha valida" & Chr(13) & "El Formato es (Dia/Mes/Año)", 0 + 64
Exit Sub
End If

 
emple.RevTer_Grouping "ENTREGADO", M, N
REPENTREGADO.Refresh
REPENTREGADO.Show
End Sub


Gracias por dedicale un tiempo, ahora solo me gustaria que le hicieras unas observaciones y si pudieras me digeras en que puedo mejorar el aspecto de la programacion. Muchas gracias :rolleyes:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Duda En Filtros Datareport
« Respuesta #5 en: Lunes 3 de Enero de 2005, 12:17 »
0
Hola.

Bufff... aspecto de la programación... no sé muy bien a qué te refieres, pero me da que puede ser algo como para escribir un libro.

Lo que si te puedo decir sobre este código en concreto es que realices la validación y formateo (para curarte en salud) de fecha de esta forma:
Código: Text
  1.  
  2. Dim s1 As String
  3. s1 = InputBox(&#34;Introduce fecha&#34;, s1)
  4. If IsDate(s1) Then
  5.    s1 = Format(s1, &#34;dd/mm/yyyy&#34;)
  6. Else
  7.    MsgBox &#34;La fecha no me vale&#34;
  8. End If
  9.  
  10.  

Suerte.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Duda En Filtros Datareport
« Respuesta #6 en: Lunes 3 de Enero de 2005, 14:35 »
0
Salu2. Un comentario, en este caso supongo que ya no te compensa cambiar nada, pero lo recomendable para guardar fechas bajo mi punto de vista es un string guardado como AAAAMMDD, esto te ayudará mucho para posteriores consultas y rapidez.

Es solo una opinion :).
 :comp:
Mi mujer tiene un físico bárbaro!!!. Einstein.