Power Builder - obtener datos de un campo dando otro campo

 
Vista:

obtener datos de un campo dando otro campo

Publicado por Martha (8 intervenciones) el 02/04/2003 02:52:21
No puedo obtener un dato de una tabla dando das de la misma

CON ESTE SCRIP OBTENGO EL NOMBRE DANDO EL RFC y lo hace bien

String ls_nombre
If dwo.name = 'rfc' Then

SELECT nom_pro
INTO :ls_nombre
FROM maestros
WHERE rfc = :DATA;

IF SQLCA.SQLCODE = 0 THEN
This.SetItem(Row, 'maestros.nom_pro', ls_nombre)
Return 0
ELSE
MessageBox("Aviso", "La clave es incorrecto o no existe")
Return 1
End If

End If

CON ESTE OTRO SCRIP QUIERO OBTENER EL NOMBRE DEL MATERIAL,, LA DIFERENCIA ES QUE PARA OBTENERLO DEBE DE DAR DOS CAMPOS Y NO SE CUAL SEA MI ERROR

String ls_nombre

If (dwo.name = 'no_adq') and (dwo.name = 'clv_mat') Then

SELECT nom_mat
INTO :ls_nombre
FROM materiales
WHERE (no_adq = :DATA) and (clv_mat = :DATA);
IF SQLCA.SQLCODE = 0 THEN
This.SetItem(Row, 'materiales_nom_mat', ls_nombre)
Return 0
ELSE
MessageBox("Aviso", "La clave es incorrecto o no existe")
Return 1
End If

End If

GRACIAS DE ANTEMANO
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:obtener datos de un campo dando otro campo

Publicado por marianux (21 intervenciones) el 02/04/2003 12:54:15
Por lo que veo debe tratarse de un script situado en el itemchanged del dw.
El itemchanged pasa por parámetros el row, el data y el dwo, por lo que puedes saber el nombre, la fila y el dato introducido del campo cuyo dato se ha modificado, pero sólo de 1 CAMPO, por eso el primer script te funciona bien pero el segundo no.
La razón es que el dwo.Name nunca va a equivaler a 2 campos diferentes a la vez, ya que este evento salta al cambiar el dato en un sólo campo por lo que no puedes acceder nunca al código del IF y la select no se ejecutará.
En resumen, tanto el row como el data como el dwo refieren a un sólo campo.
Espero que te haya ayudado.

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:obtener datos de un campo dando otro campo

Publicado por Ricardo (1957 intervenciones) el 02/04/2003 17:28:58
Te recomiendo utilices variables locales para almacenar el primer campo, asi cuando llegas a un segundo puedes utilizar esa variable para la busqueda.

Saludos!
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:obtener datos de un campo dando otro campo

Publicado por Enrique (11 intervenciones) el 05/04/2003 18:37:58
El problema descrito, es sólo, de lógica, porque el valor de dwo.name (En el evento de Itemchanged) siempre te devuelve el nombre de un sólo campo y no de varios a la vez. Es la razón que no entra en la parte interna del IF (del segundo ejemplo)

Para la próxima ten más cuidado, cuidate

Saludos
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