×
Linguagem de Programação ADVPL
Perguntas DbSeek
- epatrezze
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 6
- Obrigados Recebidos: 0
9 anos 2 meses atrás - 9 anos 2 meses atrás #29216
por epatrezze
Boa tarde pessoal.
Estou começando a aprender AdvPL e estou com uma duvida, preciso fazer um fonte que pesquise na tabela SB1 o código dos produtos no intervalo escolhido pelo usuário.
Por exemplo:
Pesquisar do código 00000000001 até 00000000100.
Estou tentando usar o DbSeek, mas pelo jeito minha lógica não está muito boa.
Fiz uma user function que recebe do usuário o intervalo de pesquisa e então chama essa função que deve fazer a pesquisa.
================================================================================================
STATIC Function searchProduto(cDe,cAte)
aCols :={}
DbSelectArea("SB1")
DbSelectOrder(1)
If DbSeek(xFilial("SB1") + cDe)
While !EOF() .AND. cDe < SB1->B1_COD;
.AND. SB1->B1_COD <= cAte
Aadd(aCols,{Alltrim(SB1->B1_COD),Alltrim(SB1->B1_DESC),Altrim(SB1->B1_UN)})
MainTela(aCols)
DbSkip()
End
else
MsgAlert("Não foi possível localizar os produtos solicitados.")
EndIf
return
===================================================================================
Caso alguém possa me ajudar fico no aguardo.
Obrigado a todos, grande abraço.
Estou começando a aprender AdvPL e estou com uma duvida, preciso fazer um fonte que pesquise na tabela SB1 o código dos produtos no intervalo escolhido pelo usuário.
Por exemplo:
Pesquisar do código 00000000001 até 00000000100.
Estou tentando usar o DbSeek, mas pelo jeito minha lógica não está muito boa.
Fiz uma user function que recebe do usuário o intervalo de pesquisa e então chama essa função que deve fazer a pesquisa.
================================================================================================
STATIC Function searchProduto(cDe,cAte)
aCols :={}
DbSelectArea("SB1")
DbSelectOrder(1)
If DbSeek(xFilial("SB1") + cDe)
While !EOF() .AND. cDe < SB1->B1_COD;
.AND. SB1->B1_COD <= cAte
Aadd(aCols,{Alltrim(SB1->B1_COD),Alltrim(SB1->B1_DESC),Altrim(SB1->B1_UN)})
MainTela(aCols)
DbSkip()
End
else
MsgAlert("Não foi possível localizar os produtos solicitados.")
EndIf
return
===================================================================================
Caso alguém possa me ajudar fico no aguardo.
Obrigado a todos, grande abraço.
Ultima edição: 9 anos 2 meses atrás por epatrezze.
Por favor Acessar ou Registrar para participar da conversa.
- Eduardo TI
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 84
- Obrigados Recebidos: 0
9 anos 2 meses atrás #29217
por Eduardo TI
Respondido por Eduardo TI no tópico DbSeek
Faz assim
DbSelectArea("SB1")
DbSelectOrder(1)
DbSeek(xFilial("SB1") + cDe)
Do While !EOF() .AND. SB1->B1_COD >= cDe .AND. SB1->B1_COD <= cAte
????
Enddo
DbSelectArea("SB1")
DbSelectOrder(1)
DbSeek(xFilial("SB1") + cDe)
Do While !EOF() .AND. SB1->B1_COD >= cDe .AND. SB1->B1_COD <= cAte
????
Enddo
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.100 segundos