Pablo.Softgraf Posted August 11, 2017 Report Share Posted August 11, 2017 Senhores, bom dia ! Alguém já se aventurou em criar tabelas temporárias com o DBCREATE , sabemos que no SQLSERVER usamos '#' para criar uma tabela temporária, tentei mandar o hashtag atraves do nome da tabela no DBCREATE , gerou um erro, alguem sabe se a função DBCREATE, tem algum parametro para criar tabelas temporárias. obrigado a todos. Quote Link to comment Share on other sites More sharing options...
Wellington Vieira Posted August 14, 2017 Report Share Posted August 14, 2017 Boa noite, Não sei se seria isso, mas para (DBF) eu uso assim... ( Funciona..) mArq = "Tmp" + left(time(), 2) + substr(time(), 4, 2) + right(time(), 2) + ".dbf" mAli = "Tmp" + left(time(), 2) + substr(time(), 4, 2) + right(time(), 2) + "1" mInd = "Tmp" + left(time(), 2) + substr(time(), 4, 2) + right(time(), 2) + ".cdx" banco := {} aadd(banco,{"bbase1" ,"c",45,0}) // trazaosocial aadd(banco,{"bbase2" ,"n",10,0}) // tnumerodopedido aadd(banco,{"bbase3" ,"d",08,0}) // tdataemissao aadd(banco,{"bbase31","c",10,0}) // nota fiscal aadd(banco,{"bbase4" ,"n",15,2}) // ttotalnotafiscal aadd(banco,{"bcupom","c",10,0}) // cupom fiscal aadd(banco,{"btotcp","n",15,2}) // total do cupom fiscal aadd(banco,{"bbase5" ,"n",01,0}) // ttipovenda aadd(banco,{"bbase6" ,"n",15,2}) // ttotaldopedido aadd(banco,{"bbase7" ,"n",15,0}) // sequencia do pedido aadd(banco,{"bbase8" ,"c",60,0}) // representante aadd(banco,{"ccan" ,"n",01,0}) dbcreate("&mArq", banco) select 99 set exclusive on use &mArq alias &mAli via "dbfcdx" index on dtoc(bbase3) + str(bbase2) tag bater1 to &mInd index on bbase1 + dtoc(bbase3) + str(bbase2) tag bater2 to &mInd index on bbase8 + dtoc(bbase3) + str(bbase2) tag bater3 to &mInd set index to &mInd additive go top e no final da operação.. close all if file(mArq) delete file &mArq endif if file(mInd) delete file &mInd endif Quote Link to comment Share on other sites More sharing options...
sistem Posted August 14, 2017 Report Share Posted August 14, 2017 veja este topico ultima msg: http://www.pctoledo.com.br/forum/viewtopic.php?f=42&t=13532&start=0 Tabelas temporarias não devem ficar no banco, e sim em .dbf temporarios[]sLuiz acho que o Luiz da resposta seja o Luiz Rafael Culik. eu uso assim(usando a memoria): Function CriDbfTempProd() Local aCampos aCampos := {} aAdd( aCampos , { "cod_prod" , "C" , 04 , 0 } ) aAdd( aCampos , { "fam_prod" , "C" , 02 , 0 } ) aAdd( aCampos , { "nom_prod" , "C" , 40 , 0 } ) aAdd( aCampos , { "uni_prod" , "C" , 03 , 0 } ) aAdd( aCampos , { "mar_prod" , "C" , 20 , 0 } ) aAdd( aCampos , { "ref_prod" , "C" , 30 , 0 } ) aAdd( aCampos , { "pcu_prod" , "N" , 13 , 2 } ) aAdd( aCampos , { "pve_prod" , "N" , 13 , 2 } ) aAdd( aCampos , { "qtd_prod" , "N" , 12 , 4 } ) aAdd( aCampos , { "fat_prod" , "N" , 05 , 2 } ) aAdd( aCampos , { "dec_prod" , "L" , 01 , 0 } ) aAdd( aCampos , { "mat_prod" , "C" , 02 , 0 } ) aAdd( aCampos , { "ati_prod" , "L" , 01 , 0 } ) aAdd( aCampos , { "usu_prod" , "C" , 08 , 0 } ) aAdd( aCampos , { "tim_prod" , "C" , 16 , 0 } ) Hb_DbCreateTemp("tempprod", aCampos, "DBFCDX") INDE ON tempprod->qtd_prod TAG "temppro1" TO ("tempprod") Memory Additive INDE ON tempprod->fam_prod+tempprod->cod_prod TAG "temppro2" TO ("tempprod") Memory Additive Return nil jah que usa sqlrdd, outra ideia seria: cSelect := 'SELECT MAX(LENGTH(cel_clie)) nTam FROM clie' DbUseArea(.t.,"SQLRDD",cSelect,"Temp") nTamanho := Temp->nTam Temp->(DbCloseArea()) espero ter ajudado Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.