Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Maestro Detalle
Maestro Detalle
Aplicacin
Maestro Detalle
Autor: Vsquez Blas Leopoldo
infotutoriales.info
lexblas@gmail.com
15/01/2016
infotutoriales.info
1. Lo primero que haremos es disear e implementar nuestra base de datos. En este caso
usar Microsoft SQL Server 2008.
Aplicacin
Como hemos visto en el diagrama de nuestra base de datos, contamos con tres tablas. La
tabla cabecera, ser la tabla maestro y la detalle ser (valga la redundancia) el detalle. Con
infotutoriales.info
respecto a la tabla producto, los datos los llenaremos desde la misma base de datos. Nos
centraremos en la implementacin de la ventana maestro detalle.
3. Creacin de la conexin con la base de datos.
Crearemos la conexin a travs de ODBC.
Nos dirigimos al panel de control y elegimos herramientas administrativas.
Panel de control
Luego elegimos orgenes de datos ODBC.
infotutoriales.info
infotutoriales.info
Clic en siguiente
Lo dejaremos con autenticacin integrado de Windows. Para esto en SQL Server debe
estar en modo de autenticacin mixta.
Vsquez Blas Leopoldo
infotutoriales.info
Clic en siguiente
Clic en siguiente.
infotutoriales.info
infotutoriales.info
Al hacer clic en el botn test data source, les debe aparecer otra ventana indicando que
la prueba de conexin fue exitosa. Con esto ya tenemos nuestra configuracin ODBC.
Podemos crear el perfil de conexin de la base de datos a travs del Database Profile o
a travs de Database.
infotutoriales.info
infotutoriales.info
Luego nos dirigimos a la pestaa Preview y ah probamos la conexin con nuestra base
de datos.
infotutoriales.info
Clic en el botn copy para copiar el script generado para la conexin, el cual pegaremos
en nuestra aplicacin. Finalmente clic en ok para cerrar y guardar nuestro perfil de
conexin a la base de datos.
Nos dirigimos a nuestra aplicacin y en el evento open pegamos el cdigo de conexin.
4. Diseo de la ventana
Para estar seccin solo usaremos datawindows para la cabecera y detalle. Tambin
podramos usar los controles comunes, instrucciones sql y cursores.
La ventana se llamar w_maestro_detalle.
Nota: Los nombres de los controles estn separados por un guion bajo _.
infotutoriales.info
infotutoriales.info
Dw_cabecera.
En esta venta podramos haber escogido Quick Select, pero escogeremos SQL Select.
infotutoriales.info
infotutoriales.info
infotutoriales.info
Aqu ya tenemos nuestro objeto datawindow creado. Por un lado estn los nombres de
las columnas (etiquetas) y por el otro los valores de las columnas. En esta parte
podemos disear nuestro datawindow dndole una mejor presentacin.
infotutoriales.info
Siguiente paso es hacer lo mismo con los otros datawindows, pero usando datagrid.
infotutoriales.info
Dw_producto
infotutoriales.info
Dw_detalle
infotutoriales.info
infotutoriales.info
infotutoriales.info
infotutoriales.info
6. Implementando la aplicacin
Si deseamos ver cmo est quedando nuestra aplicacin en tiempo de ejecucin, debemos
agregar el siguiente cdigo en el evento de la aplicacin.
connect using sqlca;//Nos conectamos a nuestra base de datos usando el objeto de
transaccin por defecto llamado sqlca.
open(w_maestro_detalle)//indicamos que se abra nuestra ventana.
infotutoriales.info
infotutoriales.info
La bsqueda de productos.
Dentro del sle_buscar, en el evento modified agregamos el siguiente cdigo.
if this.text="" then//si esta vacio
dw_buscar.setfilter( "")//limpia el filtro para que se muestren todos los datos
else
dw_buscar.setfilter( " descripcion like '%"+ this.text+"%'")//de caso contrario
asigna un filtro comparando el campo descripcin con el texto ingresado.
end if
infotutoriales.info
infotutoriales.info
Funcin uf_generarcodigo
integer li_cod
SELECT max(cabecera.idmovimiento )
INTO :li_cod
FROM cabecera ;
if li_cod=0 or isnull(li_cod) then
li_cod=1
else
li_cod++
end if
return li_cod
Botones
En el botn nuevo agregamos en siguiente cdigo.
infotutoriales.info
Botn cb_cancelar
Botn guardar
infotutoriales.info
7. La aplicacin en ejecucin.
infotutoriales.info
Si se ingresaron los datos correctamente, aparecer un mensaje indicando que los datos
se guardaron correctamente.
infotutoriales.info
infotutoriales.info
infotutoriales.info
infotutoriales.info