Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
23 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 23 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
ListBox

23/5/2017, 10:37 por Rosangela Pires

Ola Amigos.

Para se movimentar na grid com as setas colocamos no Metodo AfterChange da grid …

Comentários: 0

TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Estatísticas
Temos 7079 usuários registrados
O último usuário registrado atende pelo nome de albsilva

Os nossos membros postaram um total de 49 mensagens em 26 assuntos

Validação de Registro

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Validação de Registro

Mensagem por Rosangela Pires em 29/5/2013, 18:25

Caros Amigos,

Em uma tabela tenho o campo CÓDIGO como campo principal de inclusão ou alteração e quero que sempre incluir novo Código que o sistema me informe se este novo código já existe.
Como fazer isso acontecer.

Obrigado pela Ajuda.

Rosangela
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Nelson Arcas em 30/5/2013, 18:52

Rosangela, voce tem um indice nessa tabela referente ao codigo,

Caso tenha voce pode utilizar ele para verificar se o codigo existe

Código:

local lncodigo, lexiste
lncodigo = codigo
lexiste = .f.
if seek(lncodigo, 'nomedasuatabela', 'nomedoindice')
lexiste = .t.
endif

if lexiste
messagebox("Este codigo ja existe")
endif



avatar
Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Rosangela Pires em 30/5/2013, 20:12

Amigo Nelson Arcas, obrigado pela atenção vou aplicar sua solução.

Rosangela Pires
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Julio em 5/6/2013, 08:26

Uma outra forma de fazer:
Aqui pode tanto incluir ou alterar.
Código:
SELECT Sua_Tabela
SET ORDER TO Seu_Indice
GO TOP
SEEK STR(Thisform.txtCodigo.Value)  && campo numerico

IF ! EOF()
  *WAIT 'achou esta cadastrado'
  x=messagebox("Este código já cadastrado ! "+CHR(13)+CHR(13);
  +STR(Thisform.txtCodigo.value)+CHR(13)+CHR(13);
  +"S I M = Cadastra um NOVO CÓDIGO."+CHR(13)+CHR(13);
  +"N Ã O = Altera dados do código atual.", 32+4+256, "Atenção !!!")
  if x=6  && SIM
    Thisform.botaonovo    && click no botao novo/incluir
  else
    * 'botao nao'
    Thisform.ativarcampos  && preencho os campos com os dados ja incluidos
  endif 
ELSE
  *WAIT 'NAO CADASTRADO'
  Thisform.txtNome.SetFocus() 
ENDIF

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Rosangela Pires em 5/6/2013, 14:14

Valeu Julio,

Vou testar tb sua solução.

Obrigado.

Rosangela
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por clima em 11/6/2013, 14:36

Código:
*eu prefiro criar no main ou num prg de funções a seguinte function:


*no botao incluir/gravar


começo por fazer as validações tipo:


if empty(.vnome.value)


 messagebox("Obrigatorio Indicar o Nome")


.vnome.setfocus


return


endif


if empty(.vmorada.value)


 messagebox("Obrigatorio Indicar a Morada")


.vmorada.setfocus


return


endif


* Depois dse tudo estiver validado correctamente, chamo a função para me trazer automaticamente um novo codigo





sele clientes


o_prox_codigo=Proximo_codigo()


* Na propriedade Grava_Dados do formulario


replace clientes.codigo with o_prox_codigo


replace clientes.morada with .vmorada.value


etc.


*******************


function Proximo_codigo


LOCAL lcCampo, lcSetDel, lcRetVal





* guarda o valor de SET DELETED


lcSetDel = SET('DELETED')


* torna visíveis os registros deletados


SET DELETED OFF





*-- armazena o nome do campo 1 (padronização: o campo


* referente ao próximo nr ser o primeiro na lista de campos)


lcCampo = FIELD(1)





* Cria uma matriz com o valor ZERO no primeiro elemento,


* para a eventualidade da tabela estar vazia (o SQL não criará a matriz).


DIMENSION M_Temp(1)


M_Temp(1) = 0


* Seleciona o máximo do valor númerico do campo


SELECT MAX(VAL(&lcCampo)) FROM ALIAS() INTO ARRAY M_Temp


SET DELETED &lcSetDel





* Tamanho do campo


lcTamanhoDoCampo = FSIZE(lcCampo)


* soma 1 ao valor recuperado e converte para STRING


lcRetVal = STR(M_Temp(1)+1)


* retira espaços


lcRetVal = ALLTRIM(lcRetVal)


* completa com zeros à esquerda até completar o tamanho do campo


lcRetVal = PADL(lcRetVal, lcTamanhoDoCampo, '0')





RETURN lcRetVal

clima
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Rosangela Pires em 11/6/2013, 15:47

Valeu Clima pela função.
Vou tentar aplicar e ver se tambem resolve meu problema.

Obrigado.

Rosangela
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por diegoaoki em 25/6/2013, 18:13

Rosangela, boa noite.

A solução que os nossos amigos passaram resolveu seu problema? Se não você poderia fazer isso pelo SQL (Caso use) pois assim quando salvar ele não deixará salvar duplicados.

Exemplo:


ALTER TABLE [nome da tabela]
ADD  CONSTRAINT [XPK_NOME_CONSTRAINT] PRIMARY KEY CLUSTERED 
(
[COLUNA A SER VALIDADA] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]


Altere as informações abaixo:


[nome da tabela] - Nome da Tabela Pai

[XPK_NOME_CONSTRAINT] - Um nome qualquer para essa validação
[COLUNA A SER VALIDADA] - O nome da coluna que irá validar.


Ve se isso te ajuda!

diegoaoki
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Rosangela Pires em 25/6/2013, 23:30

Amigo diegoaoki 

Obrigado pela ajuda, vou testar.

Rosangela
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Rosangela Pires em 9/7/2013, 21:16

Amigo Marcos,
Podemos dar por encerrado o tópico.
As sugestões me ajudaram.

Rosangela Pires
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por mmmd2 em 16/7/2013, 15:41

use

SEEK , FOUND , LOCATE , CLAUSULA FOR , CLAUSULA WHERE

de Todas uso mais

Código:
Select cod from tabela where codigo = thisform.txtcodigo.value into cursor verifica

If _tally >= 0 
 Este codigo ja existe
 return 0
endif

mais se voce usa Alias

Código:
if !empty(thisform.txtcodigo.value)
  if seek(thisform.txtcodigo.value,"tabelacomindice")
      **** Executa comandos
  else
      **** mensagem ja existe
  endif
endif 

mmmd2
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: Validação de Registro

Mensagem por Rosangela Pires em 16/7/2013, 16:04

Amigo mmmd2,

Obrigado pela ajuda.
Vou testar tambem seu exemplo.
Obrigado.

Rosangela
avatar
Rosangela Pires
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum