Seleccionar el tipo de reporte deseado

Hemos vimos los siete procedimientos para reporte por pantalla y uno de los imprimibles para ver la diferencia. Ahora veremos como seleccionamos qué tipo de reporte, según que item deseamos hacerlo. Rebobinando un poco, al comienzo de  este proyecto mencionamos un  componente que no habíamos utilizado antes, el checkbox

checkbox

En tiempo de ejecuciòn

Vamos a usar su propiedad value, que solo admite dos valores : TRUE  o  FALSE. Vamos a crear una función que nos devolverá un valor según que checkboxes estén tildados. la variable combinación la declaramos como Private de tipo integer al principio del formulario

Private Function elegir() ‘comprobar que casillas están seleccionadas

If chactor.Value And chactriz.value = False And chdirector.value = False And chtitulo.value = False And chanio.value = False Then
combinacion = 1
Else If
chactor.Value And chactriz.value And chdirector.value = False And chtitulo.value = False And chanio.value = False Then
combinacion = 2
Else If
chactor.Value And chactriz.value And chdirector.value And chtitulo.value = False And chanio.value = False Then
combinacion = 3
Else If
chactor.Value = False And chactriz.value And chdirector.value = False And chtitulo.value = False And chanio.value = False Then
combinacion = 4
Else If
chactor.Value = False And chactriz.value = False And chdirector.value And chtitulo.value = False And chanio.value = False Then
combinacion = 5
Else If
chactor.Value = False And chactriz.value = False And chdirector.value = False And chtitulo.value And chanio.value = False Then
combinacion = 6
Else If
chactor.Value = False And chactriz.value = False And chdirector.value = False And chtitulo.value = False And chanio.value Then
combinacion = 7
Else
Endif

End

Si bien parece entreverado, cada paso de la sentencia condicional comprueba si los valores de checkbox coinciden con las mismas, cuando encuentra la correcta asigna el valor a la variable que nos va a permitir lanzar los procedimientos correspondientes, que son los siguientes:

Public Sub combinar()  ‘este es para los reportes por pantalla
If combinacion = 1 Then
poractor
Else If combinacion = 2 Then
porambos
Else If combinacion = 3 Then
portodos
Else If combinacion = 4 Then
poractriz
Else If combinacion = 5 Then
pordirector
Else If combinacion = 6 Then
portitulo
Else If combinacion = 7 Then
poranio

Endif

End
Public Sub combinar2()  ‘este es para los reportes imprimibles
If combinacion = 1 Then
poractor1
Else If combinacion = 2 Then
porambos1
Else If combinacion = 3 Then
portodos1
Else If combinacion = 4 Then
poractriz1
Else If combinacion = 5 Then
pordirector1
Else If combinacion = 6 Then
portitulo1
Else If combinacion = 7 Then
poranio1

Endif
End

De acuerdo al valor de combinación lanza el procedimiento correspondiente.

Ahora codificaremos el evento click de los botones que lanzan los reportes:

Public Sub btnver_Click()

tabstrip1.Index = 4  ‘pone el foco en la pestaña correspondiente
elegir()
combinar()

End

Como vemos lanzamos primero la función y luego el procedimiento elegido.
Public Sub btnreporte_Click()

elegir()
combinar2()
reportar

End

En este también lanzamos primero la función y luego el procedimiento elegido, y a continuación el procedimiento que genera el reporte:  reportar. El siguiente es su código comentado:

Public Sub reportar()
  ”para evitar abrir un reporte vacìo y que nos de error
If valor <> “”        ‘si valor es diferente a nada abrimos el reporte,sino mostramos el mensaje
$hReport = New Rpelis                        ‘ Rpelis es el nombre del reporte
$hReport.Preview()                           ‘abre el reporte
Else
Message(“No hay datos que coincidan”)
Endif

End

En el próximo post veremos el reporte y su código.

Anuncios
Esta entrada fue publicada en programación y etiquetada , , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s