- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Dúvida no uso do DbSetOrder
×
Linguagem de Programação ADVPL
Perguntas Dúvida no uso do DbSetOrder
- alexandres
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
11 anos 4 semanas atrás #17942
por alexandres
Dúvida no uso do DbSetOrder foi criado por alexandres
Olá,
Sou novo em ADVPL, e estou com dificuldades.
Estou tentando fazer um ponto de entrada que lê o cadastro de clientes.
Neste ponto tem um While onde eu preciso ler os registros na sequencia do indice 2 (tabela SIX).
Só que mesmo eu usando o DbSetOrder(2), dentro do While a função "lê" os registros na ordem do Indice 1.
Alguém tem alguma idéia do erro que estou fazendo? Segue o código.
Indice 1 = A1_FILIAL+A1_COD+A1_LOJA
Indice 2 = A1_FILIAL+A1_NOME+A1_LOJA
User Function Nome_da_Function()
BbSelectArea("SA1")
DbSetOrder(2)
Do While ! Eof()
/*
Processamento
*/
dbSkip()
Enddo
Return
Sou novo em ADVPL, e estou com dificuldades.
Estou tentando fazer um ponto de entrada que lê o cadastro de clientes.
Neste ponto tem um While onde eu preciso ler os registros na sequencia do indice 2 (tabela SIX).
Só que mesmo eu usando o DbSetOrder(2), dentro do While a função "lê" os registros na ordem do Indice 1.
Alguém tem alguma idéia do erro que estou fazendo? Segue o código.
Indice 1 = A1_FILIAL+A1_COD+A1_LOJA
Indice 2 = A1_FILIAL+A1_NOME+A1_LOJA
User Function Nome_da_Function()
BbSelectArea("SA1")
DbSetOrder(2)
Do While ! Eof()
/*
Processamento
*/
dbSkip()
Enddo
Return
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 4 semanas atrás #17943
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Dúvida no uso do DbSetOrder
Alexandre tudo bem ? passa o nome do ponto de entrada, pois as vezes a tabela de clientes pode estar filtrada e realmente não vai atender, para isso preciso do nome do ponto de entrada, para identificar em que momento esse processo é executado ok.
Sò uma pergunta, não vai ficar meio lento essa rotina lendo o cadastro inteiro de clientes ?
Sò uma pergunta, não vai ficar meio lento essa rotina lendo o cadastro inteiro de clientes ?
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- Gabi Morrison
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
11 anos 4 semanas atrás #17967
por Gabi Morrison
Respondido por Gabi Morrison no tópico Dúvida no uso do DbSetOrder
Faltou o DbSeek depois do DbSetOrder.
Veja um exemplo:
dbselectarea("SC2")
dbSetOrder(1)
dbseek(xFilial()+ cOP )
while !eof() .and. cOP == SC2->C2_NUM
/* processamento....
*/
dbselectarea("SC2")
SC2->(dbskip())
enddo
Veja um exemplo:
dbselectarea("SC2")
dbSetOrder(1)
dbseek(xFilial()+ cOP )
while !eof() .and. cOP == SC2->C2_NUM
/* processamento....
*/
dbselectarea("SC2")
SC2->(dbskip())
enddo
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Dúvida no uso do DbSetOrder
Tempo para a criação da página:0.132 segundos