Programación General > Power Builder
Creacion De Tablas Temporales
juan_0986:
buenas noches que tal sr F_tanori, necesito jalar datos de una tabla plan_ctas hecha en acces, para esto dependiendo el año puedo obtener datos de plan_ctas2007, plan_ctas2008,etc; para esto en el sql creo el sgt procedimiento almacenado
CREATE PROCEDURE plan_ctas @numcta varchar(15),@nomcta varchar(35)
AS
create table #planctas(
num_cta varchar(15),
nom_cta varchar(35))
insert into #planctas values(@numcta,@nomcta)
select * from #planctas
lo que estoy haciendo es crearme una tabla temporal #planctas donde cargare lo datos de la tabla que se encuentra en acces; despues de crear la tabla hago la inserccion de registros, y ademas debe devolverme el select de la tabla temporal para almacenarlo en un datawindows en el power builder, claro que ese datawindows hace referencia a mi store procedure; hasta aqui esta todo bien el proceso corre perfectamente
ahora en el power builder lo primero que hice fue crearme un cursor para seleccionar el num_cta y el nom_cta de la tabla en acces, la tabla del acces que almacena el plan de cuentas del 2007 es "enct0107"
declare cur cursor for select num_cta,nom_cta from enct0107 where len(num_cta)=7 order by num_cta
using trans2;
open cur;
fetch cur into :nucta,:nocta;
do until trans2.sqlcode=100
/*aqui estoy declarando el procedimiento que cree en el sql*/
DECLARE cargar_ctas PROCEDURE FOR plan_ctas @numcta=:nucta,@nomcta=:nocta;
EXECUTE cargar_ctas;
fetch cur into :nucta,:nocta;
loop
close cur;
bueno pero cuando hjago el retrieve en mi datawindows solo me devulve un registro; cuando la tabla en acces tiene muchos mas, bueno no se que estare haciendo mal o cual cree que pueda ser mi error; espero pueda ayudarme
juan_0986:
Ho hay ningun forista que tenga una idea de como puedo resolver el problema?? o acaso no me explico bien?? espero puedan ayudarme!!!
F_Tanori:
Hola,
Al menos yo no he entendido lo que deseas hacer
deseas pasar una tabla de access a Sql server?
Saludos
juan_0986:
bueno gracias por responder; lo que yo deseo ex extarer datos de una tabla de access desde el`power builder, pero recien cuando ejecuto mi aplicacion sabre de que tabla los quiero extraer; por eso no puedo hacer un select de esta manera:
select * from plan_ctas_2007 ;
por que recien cuado el usuario ingresa sabre si quiero de la tabla plan_ctas_2007 o plan_ctas_2008 o plan_ctas_2009
ahora si me dejo entender??, esto lo puedo hacer con un choose case de esra forma
choose case año_act
case 2007
select * from plan_ctas_2007
case 2008
select * from plan_ctas_2008
end choose
y asi lo podria hacer pero tendria que aumentar un case x cada año ya que esas tablan recien se cream al iniciar el año
bueno espero me haya entendido y pueda ayudarme
F_Tanori:
Bueno puedes hacer varias cosas
1 - Crear un Datawindow o un DataStore y utilizar el metodo Create y crearlo apartir de una cadena don almacenes tu Sentencia SQL
aqui hay un ejemplo (http://www.mtbase.com/foros/respuestas. ... werBuilder ), pero en la ayuda de PB viene muy claro
2- Puedes utilizar SQL Dinamico con el objeto SQLSA, para ejecutar SQL como una cadena
http://foros.solocodigo.com/index.php?showtopic=29988
3- Incluso puedes Ejecutar procedimientos Almacenados de ser necesario
http://foros.solocodigo.com/index.php?showtopic=32306
http://foros.solocodigo.com/index.php?showtopic=29987
http://foros.solocodigo.com/index.php?showtopic=9965
4- Puedes tambien ejecutar SQL en cadenas con Execute Immeditate
http://foros.solocodigo.com/index.php?showtopic=5012
http://www.mtbase.com/foros/respuestas.jsp...ro=PowerBuilder
5- Crear tablas vinculadas de SQL server en Access y manipularlas como si estuvieran en access, para hacer los traspasos de Base a base
Espero que algo de esto te sirva
Saludos
Navegación
[#] Página Siguiente
Ir a la versión completa