You are on page 1of 8

Formulario para seleccin de informes e ingreso de parmetros Crear un formulario nuevo con el nombre FRM_INFTABLAS

contenedor

Cuadro de Lista

Cuadro combinado

Etiqueta

Grupo de opciones

Boton de comando Agregar al formulario un Metodo nuevo llamado SALIDA

Procedimiento Init del formulario


THISFORM.List1.VALUE = "Ciudad" && indica el valor por default de la lista ThisForm.Combo1.value = "" ThisForm.Combo2.value = "" ThisForm.Combo1.RowSource = "Ciudad.descripcion,codigo" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Ciudad.descripcion,codigo" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount thisform.vorden.value = 1

Procedimiento Load
* Se realiza la apertura de todas las tablas utilizadas en el formulario *-------------------USE Ciudad IN 0 AGAIN ALIAS Ciudad SHARED USE Departamento IN 0 AGAIN ALIAS Departamento SHARED USE Cliente IN 0 AGAIN ALIAS Cliente SHARED USE Proveedor IN 0 AGAIN ALIAS Proveedor SHARED USE Rubro IN 0 AGAIN ALIAS Rubro SHARED USE Sucursal IN 0 AGAIN ALIAS Sucursal SHARED USE Usuario IN 0 AGAIN ALIAS Usuario SHARED USE Producto IN 0 AGAIN ALIAS Producto SHARED

Procedimiento Unload
* Cierra todas las tablas abiertas en el formulario SELEC Ciudad USE SELEC Departamento USE SELEC Cliente USE SELEC Proveedor USE SELEC Rubro USE SELEC Sucursal USE

SELEC Usuario USE SELECT Producto USE

Procedimiento Salida
IF ALLTRIM(ThisForm.List1.VALUE) = "Ciudad" REPORT FORM INF_Ciudad.FRX PREVIEW ENDIF IF ALLTRIM(ThisForm.List1.VALUE) = "Departamento" REPORT FORM INF_Departamento.FRX PREVIEW ENDIF

Propiedades a Modificar en cada Objeto


Contenedor nro 1 donde se pondr una etiqueta con el ttulo del formulario SpecialEffect = 0 En relieve

Cuadro de lista- List1


FontBold = .t. && para que la fuente aparezca en negrita RowSource = Ciudad, Departamento, Cliente, Proveedor, Rubro, Sucursal, Productos, Usuarios RowSourceType= 1- Valor

Procedimiento Clic de List1


ThisForm.Combo1.value = "" && pone a cero el valor a devolver el combo ThisForm.Combo2.value = "" && pone a cero el valor a devolver el combo IF ALLTRIM(THIS.VALUE) = "Ciudad" && Pregunta si el item seleccionado es igual a Ciudad ThisForm.Combo1.RowSource = "Ciudad.descripcion,codigo" && Define los valores del combo con los campos de la tabla ciudad ThisForm.Combo1.RowSourceType = 6 && Define el origen del dato como campos de una tabla ThisForm.Combo2.RowSource = "Ciudad.descripcion,codigo" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 && al primer combo le asigna el primer valor del combo ThisForm.Combo2.listindex = ThisForm.Combo2.listcount && al segundo combo el ultimo elemento cargado en el combo ENDIF IF ALLTRIM(THIS.VALUE) = "Departamento" ThisForm.Combo1.RowSource = "Departamento.descripcion,codigo" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Departamento.descripcion,codigo" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount ENDIF IF ALLTRIM(THIS.VALUE) = "Cliente" ThisForm.Combo1.RowSource = "Cliente.nombre,cinro" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Cliente.nombre,cinro" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount ENDIF IF ALLTRIM(THIS.VALUE) = "Proveedor" ThisForm.Combo1.RowSource = "Proveedor.nombreprov,rucproveedor" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Proveedor.nombreprov,rucproveedor" ThisForm.Combo2.RowSourceType = 6

ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount ENDIF IF ALLTRIM(THIS.VALUE) = "Rubro" ThisForm.Combo1.RowSource = "Rubro.descripcion,codrub" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Rubro.descripcion,codrub" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount ENDIF IF ALLTRIM(THIS.VALUE) = "Sucursal" ThisForm.Combo1.RowSource = "Sucursal.descripcion,codsuc" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Sucursal.descripcion,codsuc" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount ENDIF IF ALLTRIM(THIS.VALUE) = "Productos" ThisForm.Combo1.RowSource = "Producto.descripcion,codpro" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Producto.descripcion,codpro" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount ENDIF IF ALLTRIM(THIS.VALUE) = "Usuarios" ThisForm.Combo1.RowSource = "Usuario.nombre,usuario" ThisForm.Combo1.RowSourceType = 6 ThisForm.Combo2.RowSource = "Usuario.nombre,usuario" ThisForm.Combo2.RowSourceType = 6 ThisForm.Combo1.listindex = 1 ThisForm.Combo2.listindex = ThisForm.Combo2.listcount ENDIF Thisform.Refresh()

Cuadro Combinado Combo1


Propiedad BoundTo = .T. && especifica el valor del cuadro de combinado FontBold = .T. Style= 2 Lista desplegable

Todo igual para el Combo2

Grupo de opciones
Propiedades a modificar AutoSize = .T. BackStyle = 0 Transparente BorderStyle = 0-Ninguno ButtomCount= 2 ControlSource = Vn_Orden Name = Vorden

1-Clic derecho sobre el grupo de opciones

2- Clic en Generar

2- clic en la pestaa Layout

1- Escribir las opciones

2- Clic en la pestaa Value

Para que aparezca en forma Horizontal

Field name = Vn_orden

2- Clic en ok

Contenedor3
Propiedades
SpecialEffect = 1-BajoRelieve

Botn de Comando Command1


Caption = \<Aceptar FontBold= .T. ForeColor= 0,0,255 Procedimiento Click
If Alltrim(Thisform.List1.Value) = "Ciudad" If THISFORM.VORDEN.VALUE = 1 Select * From Ciudad; WHERE Ciudad.CODIGO Between Thisform.Combo1.Value And Thisform.Combo2.Value; ORDER By Ciudad.CODIGO; INTO Cursor TMP ELSE Select * From Ciudad; WHERE Ciudad.CODIGO Between Thisform.Combo1.Value And Thisform.Combo2.Value; ORDER By Ciudad.DESCRIPCION; INTO Cursor TMP ENDIF Endif

If Alltrim(Thisform.List1.Value) = "Departamento" If THISFORM.VORDEN.VALUE = 1 Select * From Departamento; WHERE Departamento.CODIGO Between Thisform.Combo1.Value And Thisform.Combo2.Value; ORDER By Departamento.CODIGO; INTO Cursor TMP ELSE Select * From Departamento; WHERE Departamento.CODIGO Between Thisform.Combo1.Value And Thisform.Combo2.Value; ORDER By Departamento.DESCRIPCION; INTO Cursor TMP ENDIF ENDIF Select TMP Count If _Tally = 0 =Messagebox("NO EXISTEN DATOS PARA LISTAR",0+64+0,"INFORMACION DEL SISTEMA") Else Thisform.SALIDA() ENDIF Select TMP Use

Command2
Caption = \<Cancelar FontBold= .T. ForeColor= 0,0,255

Procedimiento Click
thisform.Release

You might also like