Power Builder - Select

 
Vista:

Select

Publicado por veronica (9 intervenciones) el 22/02/2006 23:41:37
holas
tengo el siguiente codigo en aceptar:
string xmes
long suma
xmes=trim(string(ddlb_1.text))

select Sum(xmes) into:suma from tra_resumen_me;
if long(suma) = 0 then
messagebox("Informacion","Ingresar datos")
else
messagebox("Alerta","los datos ya fueron ingresados")
end if

el hecho es q no tengo error en el codigo pero la sentencia select me devuelve valor cero siempre, si alguien puede ayudarme por favor. Trabajo con power builder 10
Gracias antemano

Veronica
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:Select

Publicado por Jancarlo (890 intervenciones) el 23/02/2006 05:22:15
Por lo que veo estas pasando una variable como si fuera un campo, no deberias colocar el nombre del campo que desees sumar en vez de la variable.

string xmes // ?

select Sum(xmes) <-- ?
into:suma from tra_resumen_me;

Verifica bien tu sintaxis.

cualquier duda nos comentas...

Suerte !
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:Select

Publicado por Ismael (20 intervenciones) el 23/02/2006 12:29:31
Hola, para mi tenes que revisar el select, si el campo que vos estas sumando SUM(XMES) es del mismo tipo de dato que la variable que definiste STRING XMES, deberia pasarlo a numerico para poder aplicar la función SUM.

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:Select

Publicado por veronica (9 intervenciones) el 23/02/2006 21:53:27
Claro es correcto lo que me indica Jancarlo, pero lo que pasa es la variables toma el valor (mes) de un combo, es decir eligo el mes y em calcula suma o me muestra un mensaje por eso utlizo variable, poque si le pono el nombre de la columna que son los meses del año no tengo problema me calcula perfectamente, el problema es cuando asigno variable, me podrian orientar por favor

Veronica
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:Select

Publicado por Jancarlo (890 intervenciones) el 23/02/2006 22:20:02
Podrias explicarnos más detalladamente tu problema y lo que deseas lograr con ese código. Nos serviría de mucho eso para poder darte una solución más precisa.

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:Select

Publicado por veronica (9 intervenciones) el 23/02/2006 23:59:49
ok
Tengo en una ventana un dropdownlistbox y dos botones unode guardar y otro de salir, en el combo tengo los doce meses , al presionar aceptar quiero q realize la suma de la columna elegida si devuelve cero es pq falta ingresar datos de ese mes y si devuelve un valor es pq los datos ya fueron ingresados.
El problema esta en lo siguiente:
string xmes

xmes=trim(string(ddlb_1.text))
select sum(xmes) into:suma from tra_resumen_me;

me devuelve cero, pero si coloco
select sum(enero) into:suma from tra_resumen_me;
me devuelve un valor, pero yo necesito que sea variable pra poder escoger otros meses.
Espero haberme explicado bien, oajal me puedan ayudar

Veronica
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:Select

Publicado por Jancarlo (890 intervenciones) el 24/02/2006 20:54:10
Hola Veronica,

Si la idea es ejecutar una instrucción sql dinámica, es decir que tu puedas especificar el nombre del campo o de la tabla y a la vez poder recibir un valor de éste, entonces podemos utilizar el objeto SQLSA para lograr ese propósito. Te dejo un ejemplo que fácilmente lo puedes acoplar a lo que estas necesitando.

string ls_sql, ls_campo, ls_tabla
real lr_monto

ls_campo='campo'
ls_tabla='tabla'

ls_sql = 'SELECT SUM(' + ls_campo + ') FROM ' + ls_Tabla + ' '

DECLARE cur_sql DYNAMIC CURSOR FOR sqlsa;
PREPARE sqlsa FROM :ls_sql;
OPEN DYNAMIC cur_sql;
FETCH cur_sql INTO :lr_monto;
CLOSE cur_sql;

Como resultado la variable lr_monto tendrá el valor de la instrucción ejecutada.

Espero que te sirva de ayuda.

Suerte !
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:Select

Publicado por veronica (9 intervenciones) el 25/02/2006 22:29:12
hi again

Gracias me sirvio de mucho

Veronica
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