Como efetuar uma pesquisa por parte do campo
Enviado: 01 Fev 2007 22:02
Bem pessoal agradeço a ajuda de todos, mas não estou conseguindo fazer, do jeito que voce me aconselharam.
Então eu resolvi dividir o campo código da peça em duas partes, o sufixo, que seria o campo que armazena a parte inicial da peça, como BC, TIP, LM, etc. e o outro campo que armazena o código principal da peça.
Pois bem, então imaginei assim, após a pessoa digitar o sufixo e o prefixo da peça, eu faria uma verificação no bd para ver se não existe um registro com este código.
Seriam duas verificações um pelo prefixo e outra pelo sufixo.
Montei uma função que caso exista por exemplo o sufixo, ele da valor igual a 1 para uma variável, e caso não possua será 0.
Igualmente para o prefixo.
Em uma segunda operação ele pegarai o valor destas duas variaveis e somaria.
Caso a soma seja 2, ou seja tem o registro nos dois campos, da uma mensagem que a peça já esta cadastra, caso o valor seja 1, ou seja somente o prefixo, ou o sufixo, esta cadastrado, libera o cadastro da peça.
Pois bem o código que eu fiz para isso é esse:
Só que não esta dando certo.
Se eu isolo a parte do prefixo, funciona, mas quando eu ponha para rodar os dois campos, não funciona, ele permite registrar componentes em duplicidade.
Então gostaria da ajuda de vocês mais uma vez para ver onde estou errando neste código.
No caso estou alterando o cadastro da peça, pois desta forma eu ja tenho um modelo de consulta que lista o BD pela codigo da peça, nao precisando que eu me preocupe pelo sufixo da mesma.
Deste já agradeço a ajuda de todos.
Então eu resolvi dividir o campo código da peça em duas partes, o sufixo, que seria o campo que armazena a parte inicial da peça, como BC, TIP, LM, etc. e o outro campo que armazena o código principal da peça.
Pois bem, então imaginei assim, após a pessoa digitar o sufixo e o prefixo da peça, eu faria uma verificação no bd para ver se não existe um registro com este código.
Seriam duas verificações um pelo prefixo e outra pelo sufixo.
Montei uma função que caso exista por exemplo o sufixo, ele da valor igual a 1 para uma variável, e caso não possua será 0.
Igualmente para o prefixo.
Em uma segunda operação ele pegarai o valor destas duas variaveis e somaria.
Caso a soma seja 2, ou seja tem o registro nos dois campos, da uma mensagem que a peça já esta cadastra, caso o valor seja 1, ou seja somente o prefixo, ou o sufixo, esta cadastrado, libera o cadastro da peça.
Pois bem o código que eu fiz para isso é esse:
Código: Selecionar todos
SET INDEX TO INDCODSF // chama o index do sufixo
SEEK MSUF => a variável do sufixo
IF EOF()
VAL_SUF=0
ELSE
VAL_SUF=1
ENDIF
SET INDEX TO INDCODPC // chama o index do codigo da peça
SEEK MCOD => a variável do codigo
IF EOF()
VAL_PRE=0
ELSE
VAL_PRE=1
ENDIF
VAL_PEC=VAL_SUF+VAL_PRE // soma as duas variaveis
IF VAL_PEC<=1
chama a tela de cadastro
else
chama a tela que já existe o cadastro
endif
Se eu isolo a parte do prefixo, funciona, mas quando eu ponha para rodar os dois campos, não funciona, ele permite registrar componentes em duplicidade.
Então gostaria da ajuda de vocês mais uma vez para ver onde estou errando neste código.
No caso estou alterando o cadastro da peça, pois desta forma eu ja tenho um modelo de consulta que lista o BD pela codigo da peça, nao precisando que eu me preocupe pelo sufixo da mesma.
Deste já agradeço a ajuda de todos.