×
Linguagem de Programação ADVPL
Perguntas Update em advpl
- sarraipa
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 232
- Obrigados Recebidos: 1
11 anos 2 semanas atrás #18272
por sarraipa
Update em advpl foi criado por sarraipa
Oi sou novo no assunto,
Quero atualizar um registro atraves de um ponto de entrada,
Como faço update em advpl,
Esta é a parte do codigo que da pau:
cUpdate := "update SE3010 set D_E_L_E_T_='*' where SE3010.R_E_C_N_O_='"+cRecn+"'"
//excuta a query de update
TcSqlExec(cUpdate)
Quero atualizar um registro atraves de um ponto de entrada,
Como faço update em advpl,
Esta é a parte do codigo que da pau:
cUpdate := "update SE3010 set D_E_L_E_T_='*' where SE3010.R_E_C_N_O_='"+cRecn+"'"
//excuta a query de update
TcSqlExec(cUpdate)
Por favor Acessar ou Registrar para participar da conversa.
- RonaldoLopes
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
11 anos 2 semanas atrás #18273
por RonaldoLopes
Respondido por RonaldoLopes no tópico Update em advpl
Boa tarde, porque não usa reclock?
Como só vai atualizar um registro é bem mais simples com reclock.
Como só vai atualizar um registro é bem mais simples com reclock.
Por favor Acessar ou Registrar para participar da conversa.
- sarraipa
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 232
- Obrigados Recebidos: 1
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- RonaldoLopes
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
11 anos 2 semanas atrás #18280
por RonaldoLopes
Respondido por RonaldoLopes no tópico Update em advpl
Posta o erro ai pra gente, fica mais fácil te ajudar assim.
Por favor Acessar ou Registrar para participar da conversa.
- sarraipa
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 232
- Obrigados Recebidos: 1
11 anos 2 semanas atrás #18291
por sarraipa
Respondido por sarraipa no tópico Update em advpl
Seguindo a linha de usar o RECLOCK o ponto de entrada ficou assim, mas como o campo que quero setar é o delete acho que só rola se por via update,
Lembre sou iniciante em programação rsrs...
User Function SACI008()
Local cQuery
//Local cUpdate
Local cRecn
Local cPrefixo
Local cNum
Local cParcela
Local cSeq
Local cVend
cQuery := "select E3_PREFIXO,E3_NUM,E3_PARCELA,E3_SEQ,E3_VEND from SE3010 "
cQuery += "inner join SE1010 on E1_NUM = E3_NUM AND E1_LOJA =E3_LOJA "
cQuery += "inner join SE5010 on E3_NUM =E5_NUMERO and E3_LOJA =E5_LOJA and E3_SEQ=E5_SEQ "
cQuery += "where E3_NUM ='"+SE1->E1_NUM+"'and SE3010.D_E_L_E_T_=''and SE1010.D_E_L_E_T_=''and SE5010.D_E_L_E_T_='' "
cQuery := ChangeQuery(cQuery)
TCQUERY cQuery NEW ALIAS "TRB"
dbSelectArea("TRB")
//cRecn := TRB->R_E_C_N_O_
cPrefixo := TRB->E3_PREFIXO
cNum := TRB->E3_NUM
cParcela := TRB->E3_PARCELA
cSeq := TRB->E3_SEQ
cVend := TRB->E3_VEND
dbCloseArea("TRB")
dbSelectArea("SE3")
dbSetOrder(1)
dbSeek(xFilial("SE3") + cPrefixo + cNum + cParcela + cSeq + cVend ) // Busca exata
IF FOUND() // Avalia o retorno da pesquisa realizada
RECLOCK("SE3", .F.)
SE3->D_E_L_E_T_ :="*"
MSUNLOCK() // Destrava o registro
ENDIF
//cUpdate := "update SE3010 set D_E_L_E_T_='*' where SE3010.R_E_C_N_O_='"+cRecn+"'"
//TcSqlExec(cUpdate)
RETURN nil
Lembre sou iniciante em programação rsrs...
User Function SACI008()
Local cQuery
//Local cUpdate
Local cRecn
Local cPrefixo
Local cNum
Local cParcela
Local cSeq
Local cVend
cQuery := "select E3_PREFIXO,E3_NUM,E3_PARCELA,E3_SEQ,E3_VEND from SE3010 "
cQuery += "inner join SE1010 on E1_NUM = E3_NUM AND E1_LOJA =E3_LOJA "
cQuery += "inner join SE5010 on E3_NUM =E5_NUMERO and E3_LOJA =E5_LOJA and E3_SEQ=E5_SEQ "
cQuery += "where E3_NUM ='"+SE1->E1_NUM+"'and SE3010.D_E_L_E_T_=''and SE1010.D_E_L_E_T_=''and SE5010.D_E_L_E_T_='' "
cQuery := ChangeQuery(cQuery)
TCQUERY cQuery NEW ALIAS "TRB"
dbSelectArea("TRB")
//cRecn := TRB->R_E_C_N_O_
cPrefixo := TRB->E3_PREFIXO
cNum := TRB->E3_NUM
cParcela := TRB->E3_PARCELA
cSeq := TRB->E3_SEQ
cVend := TRB->E3_VEND
dbCloseArea("TRB")
dbSelectArea("SE3")
dbSetOrder(1)
dbSeek(xFilial("SE3") + cPrefixo + cNum + cParcela + cSeq + cVend ) // Busca exata
IF FOUND() // Avalia o retorno da pesquisa realizada
RECLOCK("SE3", .F.)
SE3->D_E_L_E_T_ :="*"
MSUNLOCK() // Destrava o registro
ENDIF
//cUpdate := "update SE3010 set D_E_L_E_T_='*' where SE3010.R_E_C_N_O_='"+cRecn+"'"
//TcSqlExec(cUpdate)
RETURN nil
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.110 segundos