Power Builder - Validar campos vacios en un datawindow

 
Vista:

Validar campos vacios en un datawindow

Publicado por Isaac (38 intervenciones) el 26/04/2006 16:56:23
Creo que el titulo es explicito! Deseo validar campos vacios en un datawindows, ya sean Null o que contengan espacios en blanco a los cuales aplicar trim, antes de validar. He buscado en este foro y las 2 o 3 respuestas que he encontrado no han funcionado en mi sistema.

De antemano gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Validar campos vacios en un datawindow

Publicado por Asgard (1957 intervenciones) el 26/04/2006 18:15:59
Si lo que quieres es que no dejen el campo vacío, dejalo como un campo requerido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar campos vacios en un datawindow

Publicado por Isaac Mañe (38 intervenciones) el 26/04/2006 19:33:51
O.k pero el problema pasa por le hecho de que me sale un error del dberror y del itemerror y yo quiero personalizar los mensajes que en ellos aparecen ya que el sistema es para dummies.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar campos vacios en un datawindow

Publicado por Edgar Flores (44 intervenciones) el 12/05/2006 03:19:09
Prueba con este: crea un funcion: con estos datos:
Access: Public, Return Type: Integer, Functio Name: f_required, Pass By: Value, Argument Type: datawindow, Argument Name: adw_control
Luego pegas todo esto:
/////////////////////////////////////////////////////////////////
// /
// This function ensures that no required column in a /
// DataWindow control is empty (contains NULL). It takes /
// one argument: the DataWindow control. /
// /
// Return values: /
// /
// * -1 if validation fails /
// * 1 if required columns are filled in /
// /
/////////////////////////////////////////////////////////////////

integer li_colnbr = 1
long ll_row = 1
string ls_colname, ls_textname

///////////////////////////////////////////////////////////////
// /
// Make sure the last entry in the DataWindow control is /
// accepted before proceeding. /
// /
///////////////////////////////////////////////////////////////

IF adw_control.AcceptText() = -1 THEN

adw_control.SetFocus()
RETURN -1

END IF

///////////////////////////////////////////////////////////////
// /
// Now we can examine the required columns in each row of /
// the DataWindow control. /
// /
// The following function starts at row 1, column 1 in the /
// DW's primary buffer. Then it looks through each row /
// until it finds a required column that is empty. /
// /
///////////////////////////////////////////////////////////////

IF adw_control.FindRequired( primary!, ll_row, li_colnbr, &
ls_colname, true ) < 0 THEN

// If the search can't be done due to some error,
// then quit this script.

RETURN -1

END IF

///////////////////////////////////////////////////////////////
// /
// The preceding function updates the ll_row variable with /
// the number of the first row in which a required column was /
// found empty (or 0 if all rows were OK). Here's a test /
// to see if such a row was found. /
// /
///////////////////////////////////////////////////////////////

IF ll_row <> 0 THEN

// Get the text of that column's label.

ls_textname = ls_colname + "_t.Text"
ls_colname = adw_control.Describe(ls_textname)

// Tell the user which column to fill in.

MessageBox("Falta Valor Requerido","Por favor ingrese un valor para '" &
+ ls_colname +"', Fila " + string (ll_row) + ".", stopsign! )

// Make the problem column current.

adw_control.SetColumn(li_colnbr)
adw_control.ScrollToRow(ll_row)
adw_control.SetFocus()

RETURN -1

END IF

///////////////////////////////////////////////////////////////
// /
// If every column in every row checked out OK... /
// /
///////////////////////////////////////////////////////////////

RETURN 1

Por ejemplo: en un boton de grabar: cb_save, la primera linea de codigo le pones:
IF f_checkrequired (dw_orddetail) = -1 THEN RETURN

Listo eso es todo, espero que te sirva.

Saludos desde Peru.

Edgar Flores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar