Transcript
Page 1: Proceso de Mantenimiento en Power Builder

PROCESO DE MANTENIMIENTO EN POWERBUILDER

Primero creamos la base de datos

Procedemos a ingresar registro en las tablas

Creamos un datawindows

En este caso mantenimiento del medico

Creamos el formulario:

Page 2: Proceso de Mantenimiento en Power Builder

Primero copiamos el codigo de coneccion:

// Profile mantenimientoSQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "ConnectString='DSN=mantenimiento;UID=dba;PWD=sql'"

CONNECT;IF SQLCA.SqlCode <> 0 THEN

Messagebox("Error de conexión"," No se pudo realizar la conexion " & + char(13) + SqlCa.SqlErrText)

ELSEMessagebox("Bienvenido"," La Conexion con la BD fué Satisfactoria ")Open(w_mante_medicos)

END IF

Luego en el formulario del mantenimiento copiamos :

dw_1.setTransObject(SQLCA)dw_1.Retrieve()

ingresamos los codigos:

//BOTON NUEVOdw_1.Enabled=True //Habilita dwdw_1.InsertRow( ) //Inserta una fila en blanco dw_1.ScrolltoRow(dw_1.InsertRow(0)) //colocando cursordw_1.SetFocus()

//BOTON GUARDARdw_1.UPDATE()IF dw_1.UPDATE()=1 THEN

COMMIT;Else

Messagebox("Atención","No se pudo grabar el registro ")ROLLBACK;HALT CLOSE

Page 3: Proceso de Mantenimiento en Power Builder

END IFdw_1.Retrieve() //Actualizar el contenido del datawindow (Refresh)dw_1.Enabled=False

//BOTON CANCELARdw_1.Retrieve()dw_1.ScrollToRow(1)dw_1.Enabled=False

//BOTON MODIFICARdw_1.Enabled=True

//BOTON ELIMINARInteger OPOP=MessageBox("Borrar","¿Desea borrar el registro ?", Question!, YesNo!,2)IF OP=1 THEN

dw_1.DeleteRow(0) //borra el registro actualdw_1.Update()dw_1.Retrieve()

End IFdw_1.Enabled=False

CONTROLES DE NAVEGADOR:

dw_1.ScrollToRow(1)

IF dw_1.GetRow()<dw_1.RowCount() THENdw_1.ScrollNextRow()

Elsedw_1.ScrollToRow(dw_1.RowCount() )

END If

dw_1.ScrollToRow(dw_1.RowCount())

Page 4: Proceso de Mantenimiento en Power Builder

DATAWINDOWS UTILIZANDO COMPUTER FIELD

Creamos la base de datos matricula

Ingresamos los siguientes campos:

En la tabla alumno:

En la tabla cursos:

En la tabla notas:

Creamos el primer datawindows

Page 5: Proceso de Mantenimiento en Power Builder

seleccionamos los siguientes campos los que estan con azul

creamos el siguiente argumento de recuperacion:

y le asignamos la suiguiente condicion:

Luego le damos clic en

Y seguimos :

Y lo guardamos luego creamos un formulario

Page 6: Proceso de Mantenimiento en Power Builder

En ingresamos el siguiente codigo en el sle_1

string frasefrase= trim (sle_1.text)dw_1.dataobject='dwo_apellido'dw_1.settransobject(sqlca)dw_1.retrieve(frase+'%')

if dw_1.rowcount()=0 thenmessagebox("alerta","",information!)

end if

en el open del formulario colocamos el codigo de conexión del datawindows:

dw_1.settransobject(sqlca)

y ejecutamos el formulario:

Ahora para la consulta por cursos:

Seleccionamos los siguientes campos de las siguientes tablas:

Page 7: Proceso de Mantenimiento en Power Builder

Y ponemos argumento de recuperacion:

Con la siguiente condicion:

Le asignamos el siguiente computer field en la nueva etiqueta PROMEDIO:

Page 8: Proceso de Mantenimiento en Power Builder

Esto codigo es para el promedio del curso

Para asignarle el color primero seleccionas el computer fiel que creaste y le das en font y seleccionas text color:

Page 9: Proceso de Mantenimiento en Power Builder

ahora le asignamos a un computer field para el color de la nota si es menor a 11 color rojo,si es mayor 10 color azul

Creamos el siguiente formulario:

Ingresamos el siguiente codigo:

De la conexión:

dw_1.settransobject(sqlca)

en el sl_1 colocamos lo siguiente:

string frase,f2frase= trim (sle_1.text)f2=trim(sle_1.text)dw_1.dataobject='dwo_curso'dw_1.settransobject(sqlca)dw_1.retrieve(frase,f2)

if dw_1.rowcount()=0 thenmessagebox("alerta","",information!)

end ifPROCESO para el datawindows por fecha:

Page 10: Proceso de Mantenimiento en Power Builder

Seleccionamos la tabla alumno ,desigmanos los argumentos de recuperacion con la siguiente condicion:

Creamos el siguiente formulario:

Ingresamos el siguiente codigo:

dw_1.settransobject(sqlca)

en el sle_1:

if sle_2.text <>"" thensle_2.triggerevent(modified!)

end ifif keydown(13) then sle_2.setfocus()

Page 11: Proceso de Mantenimiento en Power Builder

en el sle_2:

date n1,n2n1=date(sle_1.text)n2=date(sle_2.text)

if date(sle_2.text) >= date(sle_1.text) thendw_1.retrieve(n1,n2)if dw_1.rowcount()=0 then

messagebox("alerta","no hay datos")returnend ifelse

messagebox("aviso","error de fecha",stopsign!)this.selecttext(1,len(this.text))this.setfocus()

end if

EN EL DATAWINDOWS NOTA:

Luego agregamos dos etiquetas mas

Page 12: Proceso de Mantenimiento en Power Builder

Asemos el proceso de computer field: para el calculo del promedio:

Para la observacion: el color condicion:

Para aprobado o desaprobado:

Le das clic:

Page 13: Proceso de Mantenimiento en Power Builder

Creas el formulario:

Ingresamos el codigo:

dw_1.settransobject(sqlca)

en el sle_1:

string cadcad= trim (sle_1.text)if dw_1.retrieve(cad)=0 then

messagebox("error","el codigo no existe")end if

EN EL MANTENIMIENTO DE LA TABLA ALUMNO:

Page 14: Proceso de Mantenimiento en Power Builder

Nuevo:dw_1.Enabled=True //Habilita dwdw_1.InsertRow(0) //Inserta una fila en blanco dw_1.ScrolltoRow(dw_1.InsertRow(0)) //colocando cursordw_1.SetFocus()

guardar:dw_1.UPDATE()IF dw_1.UPDATE()=1 THEN

COMMIT;Else

Messagebox("Atención","No se pudo grabar el registro ")ROLLBACK;HALT CLOSE

END IFdw_1.Retrieve() //Actualizar el contenido del datawindow (Refresh)dw_1.Enabled=False

modificar:dw_1.Enabled=True

eliminar:

Integer OPOP=MessageBox("Borrar","¿Desea borrar el registro ?", Question!, YesNo!,2)IF OP=1 THEN

dw_1.DeleteRow(0) //borra el registro actualdw_1.Update()dw_1.Retrieve()

End IFdw_1.Enabled=False