Jump to content
Wolfthief

Tecla para actualizar campos de tabelas diferentes

Recommended Posts

Wolfthief

Boa tarde,

Usamos este código criado (tecla) para actualizar alguns campos dos artigos e todos estes campos estão na tabela STOBS. Precisa de saber o que tenho de acrescentar e onde, para que na mesma tecla consiga actualizar 9 campos mas na tabela ST, ou seja, o excel a ser importado teria de ter da coluna b à coluna r campos da STOBS e da coluna s à coluna aa campos da ST.

Obrigado.

**Escolher Ficheiro excel para importar

m_file=Getfile("XLS","Ficheiro","Escolher",0,"Seleccione o Ficheiro a Importar")
If Type("m_file")<>"C" Or Not File(m_file)
    Messagebox("Ficheiro Não Encontrado")
    Return
Endif


* Cria Cursor Artigos que vai conter os registo do ficheiro excel

Create Cursor artigos(cola C(100),colb C(100), colc C(100), cold C(100), cole C(100),colf C(100),colg C(100), colh C(100), coli C(100), colj C(100),colk C(100),coll C(100), colm C(100), coln C(100), colo C(100),colp C(100),colq C(100), colr C(100))

* Altera as decimais que são utilizadas por defeito na aplicação
Set Point To "."
erros = 0
atualizados = 0
Append From (m_file) Xls

Select artigos

Scan
    **instrução para evitar campos em branco(exemplo referencia)
    If !Empty (artigos.cola) And Len(Alltrim(artigos.cola))>3
        u_sqlexec("select ref from st where ref='"+Alltrim(artigos.cola)+"'","verST")
        if reccount("verST")>0
            text to msel textmerge noshow
                update stobs set

                             U_material='<<artigos.colb>>', 
                             U_cteristi='<<artigos.colc>>', 
                             U_cor='<<artigos.cold>>', 
                             U_espfundo='<<artigos.cole>>',
                              U_espcorpo='<<artigos.colf>>', 
                             U_temper='<<artigos.colg>>', 
                             U_capacid='<<artigos.colh>>',
                              U_potencia='<<artigos.coli>>', 
                             U_rotacoes='<<artigos.colj>>', 
                             U_veloci='<<artigos.colk>>',
                             U_producao='<<artigos.coll>>', 
                             U_lamina='<<artigos.colm>>', 
                             U_espcorte='<<artigos.coln>>',
                              U_maxlcor='<<artigos.colo>>', 
                             U_dimmesa='<<artigos.colp>>', 
                             U_dimserra='<<artigos.colq>>',
                             U_obs='<<artigos.colr>>'
                             
                          where ref='<<artigos.cola>>'    
            endtext
            if u_sqlexec(msel,"updST")
                atualizados = atualizados+1
            else
msg(msel)
                erros = erros+1
            endif            
        endif
    Endif
Endscan

Set Point To se_pointer
Messagebox("Atualização de Artigos Feita! Foram Atualizados "+astr(atualizados)+" artigos. Foram detetados "+astr(erros)+" erros")

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.