×
Linguagem de Programação ADVPL
Perguntas VALIDAÇÃO DE CAMPO
- rubem_mn
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 60
- Obrigados Recebidos: 0
10 anos 1 mês atrás #26048
por rubem_mn
VALIDAÇÃO DE CAMPO foi criado por rubem_mn
Prezados, bom dia!
Estou utilizando seguinte fonte para validar a entrada de dados no campo b1_desc para verificar se existe o registro já gravado no banco de dados.
User Function Bteste()
cDesc:=ALLTRIM(M-B1_DESC)
DBSelectArea ("SB1010")
dbsetorder(3)
if dbseek(xfilial("SB1010") + cDesc)
Alert (" Esse registro existe no banco de dados")
else
Alert ("Não Existe")
endif
Return
O problema é quando o usuário digita um registro que existe no banco mas com espaço dentro da string a validação não funciona.
ex1: PAPEL A4 Alert (" Esse registro existe no banco de dados")
ex2: PAPEL A4 Alert ("Não Existe")
Como faço para resolver?
Obrigado!
Estou utilizando seguinte fonte para validar a entrada de dados no campo b1_desc para verificar se existe o registro já gravado no banco de dados.
User Function Bteste()
cDesc:=ALLTRIM(M-B1_DESC)
DBSelectArea ("SB1010")
dbsetorder(3)
if dbseek(xfilial("SB1010") + cDesc)
Alert (" Esse registro existe no banco de dados")
else
Alert ("Não Existe")
endif
Return
O problema é quando o usuário digita um registro que existe no banco mas com espaço dentro da string a validação não funciona.
ex1: PAPEL A4 Alert (" Esse registro existe no banco de dados")
ex2: PAPEL A4 Alert ("Não Existe")
Como faço para resolver?
Obrigado!
Por favor Acessar ou Registrar para participar da conversa.
- asf.Roberto
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 56
- Obrigados Recebidos: 0
10 anos 1 mês atrás #26053
por asf.Roberto
Respondido por asf.Roberto no tópico VALIDAÇÃO DE CAMPO
Bom dia Rubem,
Cara tenta desta forma:
Cara tenta desta forma:
User Function Bteste()
Local aAreaSB1 := SB1->(GetArea())
Local lRet := .F.
DBSelectArea("SB1")
dbSetOrder(3)
IF dbSeek(xFilial("SB1") + M->B1_DESC)
lRet := .F.
Alert (" Esse registro existe no banco de dados")
ELSE
lRet := .T.
Alert ("Não Existe")
ENDIF
RestArea(aAreaSB1)
Return(lRet)
Se não quiser que tranque o cursor no campo até que se digite uma descrição válida troca o Return(lRet) por Return(.T.).
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- dexter
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 78
- Obrigados Recebidos: 0
10 anos 1 mês atrás #26060
por dexter
Respondido por dexter no tópico VALIDAÇÃO DE CAMPO
ouuu
EXISTCHAV()
Retorna .T. ou .F. se o conteúdo especificado existe no alias especificado. Caso exista será exibido um help de sistema com um aviso informando da ocorrência. Função utilizada normalmente para verificar se um determinado código de cadastro já existe na tabela na qual a informação será inserida, como por exemplo o CNPJ no cadastro de clientes ou fornecedores.
Sintaxe: ExistChav(cAlias, cConteudo, nIndice)
Parâmetros
cAlias Alias de referência para a validação da informação.
cConteudo Chave a ser pesquisada, sem a filial.
nIndice Índice de busca para consulta da chave.
EXISTCHAV()
Retorna .T. ou .F. se o conteúdo especificado existe no alias especificado. Caso exista será exibido um help de sistema com um aviso informando da ocorrência. Função utilizada normalmente para verificar se um determinado código de cadastro já existe na tabela na qual a informação será inserida, como por exemplo o CNPJ no cadastro de clientes ou fornecedores.
Sintaxe: ExistChav(cAlias, cConteudo, nIndice)
Parâmetros
cAlias Alias de referência para a validação da informação.
cConteudo Chave a ser pesquisada, sem a filial.
nIndice Índice de busca para consulta da chave.
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.108 segundos