Power Builder - Impedir que se repitan mis nro de serie

 
Vista:

Impedir que se repitan mis nro de serie

Publicado por Juan (33 intervenciones) el 16/12/2019 22:57:13
gente buenas tardes, una mano para poder impedir que los numero de serie de los productos que ingreso no se puedan ingresar nuevamente, en que parte hacerlo, 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
Imágen de perfil de Leonardo Daniel A.
Val: 821
Oro
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Impedir que se repitan mis nro de serie

Publicado por Leonardo Daniel A. (479 intervenciones) el 17/12/2019 06:06:05
Al momento de capturarlo y cambiar de campo, usa el evento ItemChanged, ahi haces una busqueda de ese numero y si existe, no lo dejas seguir, creo que return 1 , incluso antes del return 1, pues le mandas un messagebox avisando que ya existe ese numero y le das return 1


https://docs.appeon.com/appeon_online_help/pb2019/datawindow_reference/ch08s27.html
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

Impedir que se repitan mis nro de serie

Publicado por Juan (33 intervenciones) el 17/12/2019 15:38:44
Hola Leonardo, he tratado de crear este código pero no me muestra el mensaje avisándome que ya existe y es mas, deja seguir escribiendo,

Ojo no deseo que me bloquee el datawindow o lo cierre solo que retorne al mismo campo para que yo pueda modificar el codigo


If dwo.name = "serie" Then
String ls_codigo
Long ll_fila
ll_fila = dw_almacen.Find("serie = '"+ls_codigo+"'",1,dw_almacen.RowCount())
If ll_fila > 0 Then
Messagebox("Aviso", "El registro que ha digitado ya existe",Question!)
Else
End If
End If


Gracias por su apoyo,
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
Imágen de perfil de Leonardo Daniel A.
Val: 821
Oro
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Impedir que se repitan mis nro de serie

Publicado por Leonardo Daniel A. (479 intervenciones) el 17/12/2019 16:53:58
hola, a ver... quieres verificar que no exista en el mismo DW o en la B.D. ??


si es en el DW, siempre debes hacer un AcceptText para que el DW tome todas las modificaciones que hayas hecho, ademas de que en ningun lado le asignas valor a ls_codigo, el evento itemchanged recibe varios parametros, entre ellos, dwo, row, data, data es el dato que capturaste

Esto para buscar en el mismo DW
1
2
3
4
5
6
7
8
9
10
11
12
String ls_codigo
Long ll_fila
 
this.AcceptText()
IF dwo.name = "serie" THEN
     ls_codigo = data
     ll_fila = dw_almacen.Find("serie = '"+ls_codigo+"'",1,dw_almacen.RowCount())
     IF ll_fila > 0 THEN
          Messagebox("Aviso", "El registro que ha digitado ya existe",Question!)
          RETURN 1
     END IF
END IF


Para buscar en la B.D. deberias hacer un SELECT
1
2
3
4
5
6
7
8
9
10
11
12
Long ll_cnt
String ls_codigo
 
this.AcceptText()
IF dwo.name = "serie" THEN
     ls_codigo = data
     SELECT  count(codigo) INTO :ll_cnt FROM tabla WHERE codigo = :ls_codigo;
     IF ll_cnt > 0 THEN
          Messagebox("Aviso", "El registro que ha digitado ya existe",Question!)
          RETURN 1
     END IF
END IF
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

Impedir que se repitan mis nro de serie

Publicado por Juan (33 intervenciones) el 17/12/2019 18:23:48
Gracias Leonardo, era verificar de la DB, estoy recién en este tema y muchas gracias por tu aporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar