Power Builder - Problema con argumentos y setsqlselect

   
Vista:

Problema con argumentos y setsqlselect

Publicado por jorge (2 intervenciones) el 30/10/2007 23:12:29
Hola a todos los foristas ,

Veran tengo un dw q recibe 2 argumentos
q funciona correctamente

ahora necesito modificar el sql de dw
y le agrego mas parametros pero obtengo un error al cargar la nueva sentencia
tiene algo qver con q el dw tenga argumentos ?

Saludos , sus comentarios seran bienbenidos

Ls_SelectO = dwm_o.Describe("DataWindow.Table.Select")
vls_newsl = Ls_SelectO + " WHERE Tabla1.CodMarca like 'SONY' "

if dw_o.setsqlselect(vls_newsl) = 1 then
else
messagebox ("se produjo un error al cargar nuva sentencia ","")
//return
end if
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

espero te sirva

Publicado por Salvador (26 intervenciones) el 31/10/2007 01:22:39
Hola no se mucho de eso; pero me parece que lo estas haciendo mal la carga del nuevo where
Si ya tienes un where, el nuevo parametro que le debes cargar no debe empezar con where sino con 'and' para que se agregue al where y te quede el where original mas "and" y los nuevos parametros

OJO:
vls_newsl = Ls_SelectO + " WHERE Tabla1.CodMarca like 'SONY' "
solo cambia el where por el and
vls_newsl = Ls_SelectO + " AND Tabla1.CodMarca like 'SONY' "
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

espero te sirva

Publicado por Salvador (26 intervenciones) el 31/10/2007 01:22:42
Hola no se mucho de eso; pero me parece que lo estas haciendo mal la carga del nuevo where
Si ya tienes un where, el nuevo parametro que le debes cargar no debe empezar con where sino con 'and' para que se agregue al where y te quede el where original mas "and" y los nuevos parametros

OJO:
vls_newsl = Ls_SelectO + " WHERE Tabla1.CodMarca like 'SONY' "
solo cambia el where por el and
vls_newsl = Ls_SelectO + " AND Tabla1.CodMarca like 'SONY' "
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:espero te sirva

Publicado por jorge (2 intervenciones) el 31/10/2007 14:40:15
No no es eso el select del dw usa joins para unirse a otras tablas
no tiene WHERE

pero el aumente una condicion para q encajara tal como dices

select dw = "select ....... WHere (1=1) "
y luego aumente
vls_newsl = Ls_SelectO + " AND Tabla1.CodMarca like 'SONY' "

creo q es por los argumentos
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

Entonces que te parece si...

Publicado por Salvador (26 intervenciones) el 31/10/2007 16:06:18
Mira yo apenas termine mi escuela y estoy haciendo mi estancia en una empresa, pero estamos trabajando con pb
Aqui nos dan curso de pb un chavo, pero solo viene los martes.
Dejame preguntarle y le digo que eres un amigo que tienes problemas con tu aplicacion y si me autoriza de doy su correo y le escribes bien que es lo que pasa con tu consulta
T eparece?

Mira.... este es el codigo que yo utilice pero en efecto no tiene argumentos la consulta original de la dw

ls_select_original = uo_1.GetSQLSelect()
ls_select = ls_select_original

IF rb_portienda_ventasdía.Checked = TRUE THEN
ls_where = "and movimientos_h.cve_tienda = " + String(ii_clave_tienda) + " and movimientos_h.fecha_docto = '" + ls_fecha +"'"


else
ls_where = "and movimientos_h.fecha_docto = '" + ls_fecha +"'"
End IF

ls_select = ls_select + ls_where
uo_1.SetSQLSelect(ls_select)
uo_1.Retrieve()
uo_1.SetSQLSelect(ls_select_original)
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

Otra solucion jorge

Publicado por Salvador (26 intervenciones) el 31/10/2007 17:20:12
Oye que crees?
Estaba checando ahorita mi aplicacion y resulta que del codigo que te mande en la respuesta anterior la fecha que le estoy mandando en el nuevo where, es un argumento que la dw recibia para hacer la consulta en el evento open y la esta tomando de un cuadro de texto.
Ahora, lo que hice fue quitarle el argumento y mandarslo tambien en la nueva sentencia de sql en el where
Por que no intentas quitarle los argumentos a la dw y despues se los mandas tambien en el nuevo where?
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

aqui esta la respuesta

Publicado por Salvador (26 intervenciones) el 31/10/2007 18:25:00
Hola jorge creo que este es tu problema

Ls_SelectO = dwm_o.Describe("DataWindow.Table.Select") Es incorrecto



Lo correcto es



ls_SelectO = dwm_o.GetSQLSelect()
Intentalo
Salu2
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