ProcuraCampo

A função ProcuraCampo recebe o número de uma tabela e o nome de um campo e retorna o número do campo, caso exista um campo com o mesmo nome na tabela.

Tipo de Retorno

Integer

Pacote

A função ProcuraCampo está definida dentro do pacote ProcuraCampo.pkg.

Sintaxe

Move (ProcuraCampo({hNrTabela},{sNmCampo})) to {iRet}

Onde:

  • {hNrTabela} é o número da tabela no filelist;
  • {sNmCampo} é o nome do campo que será procurado;
  • {iRet} é a variável que receberá o retorno da função, e se o campo não existir o retorno será 0 (zero).

Exemplo

O exemplo abaixo usa a função ProcuraCampo para verificar se existe um campo chamado 'iTamMinSenha' na tabela 'Arqsis', e se não existir cria o campo. Depois verifica se o campo foi criado chamando novamente a função ProcuraCampo e, caso tenha sido criado, inicializa o valor do campo que acabou de ser criado com 1.

Move Arqsis.File_Number to hTabela
If (ProcuraCampo(hTabela,"iTamMinSenha") = 0) Begin
    Send AdicionaCampo hTabela "iTamMinSenha" DF_BCD 4 0 Self ghoStatusPanel
    If (not(AbreTabelaModoExclusivo(Arqsis.File_Number))) Procedure_Return
    Move Arqsis.File_Number to hTabela
    
    // Configurando valor padrão para 1
    Move (ProcuraCampo(hTabela,"iTamMinSenha")) to iNrCampo
    If iNrCampo Begin
        If (FindByRowID(hTabela,(GetRowID(hTabela)))) Begin
            Reread hTabela
                Get_Field_Value hTabela iNrCampo to iValor
                If (iValor = 0) Begin
                    Set_Field_Value hTabela iNrCampo to 1
                    SaveRecord hTabela                
                End
            Unlock
        End
    End
End

Observações

  • Para que esta função funcione a tabela deve ter sido aberta em modo exclusivo antes da chamada.

Tópicos relacionados