¿Cómo realizar estas cosas en power builder?

Saludos..
Estoy empezando a emplear power builder en la version 9 y tengo varias dudas las cuales espero puedas ayudarme:
1. Tengo una tabla llamada Articulo la cual posee un campo artcodi, este campo es texto de 7 dígitos y deseo que el código se genera automáticamente, para lo cual deseo leer cuantos registros tiene dicha tabla; esto lo puedo realizar mediante la consulta: select max(artcodi) from articulo, desde el empleo de cursores, creo no estoy bien seguro, si es así como logro capturar este código (porque la consulta me arrojara solamente un resultado) para poder emplearlo y generar el código del articulo correspondiente.
2. Como puedo ejecutar una consulta SQL para agregar, eliminar, actualizar registro de una tabla. Por favor ejemplos
3. Como hago para que cuando se presione enter el cursor se dirija al siguiente objeto (q puede ser una caja de texto u otros) y no emplear la tecla tab...
Bueno por ahora tengo estas dudas espero puedas ayudarme
Muchas gracias

1 Respuesta

Respuesta
1
1. Para el ultimo numero.
A1) el código al ser texto lo tienes que guardar con ceros adelante para que se ordene correctamente.
a2) select max(artcodi) into :ls_codigo from Articulo;
//verifica el resultado del sqlca.sqlcode
ll_temp = Long(ls_artcodi) + 1
ls_artcodi = String(ll_temp, "0000000")
insert into articulos
(artcodi) values (:ls_artcodi);
if sqlca.sqlcode = 0 then
//todo ok
else
//algun error, en sqlca.sqldbcode está el error que devuelve la base
end if
a3) en estos casos lo que conviene es tener una tabla de últimos números y una función que te devuelva el proxuimo numero a usar para el código. La función hace algo similar a lo que te puse arriba solo que sobre una tabla de últimos números.
la estructura mas simple para esta tabla es:
col1 = nombre_tabla (text)
col2 = campo (text)
col3 = ult_nro (number)
ej.:
col1 = articulos
col2 = artcodi
col3 = 254
La función recibe 2 string y devuelve un long, internamente hace algo similar a lo que puse arriba.
b) Para lo de los registros fíjate en lo que te puse arriba, igualmente insertar y actualizar registros se hace generalmente con datawindows.
c) Lo de la tecla enter e es medio complicado y te diría que lo dejes para más adelante. Básicamente tienes que detectar el evento que se ejecuta al apretar enter y llamar al evento del tab.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas