Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) inserir um valor em uma determinada linha do grid


vms

Pergunta

ola pessoal

tenho uma tabela paradox com 3 campos o primeiro referente aos meses (Janeiro a dezembro)

como faço pra inserir um valor que estar em um Edit em uma determinado linha do grid

EX:

campo mes | Descrição | Valor |

Janeiro...... |etc. ta.......l_______ |

Fevereiro.. |etc. tal ..... |_______|

Março...... |etc. tal.. ... |_______|

.........

Dezembro. |............... |__________| |

como faço pra inserir um valor que estar em um edit na coluna "valor" da linha "Março"

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
como faço pra inserir um valor que estar em um edit na coluna "valor" da linha "Março"

Voce pode usar o comando Locate para isto:

Definição

Procura o dataset para um registro especificado e faz para aquele registro o registro atual.

function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; override;

Descrição

Use Locate para procurar um dataset para um registro específico e posicionar o cursor nele. KeyFields é uma string contendo uma lista delimitada por ponto-e-vírgula, de nomes de campo em que deve procurar.

KeyValues é uma Variante contendo os valores para procurar nos campos fundamentais. Se KeyFields listar um único campo, KeyValues representa o valor de procura por aquele campo. Se KeyFields listar campos múltiplos, passe uma ordem Variante como o parâmetro de KeyValues. Você pode construir uma ordem variante ( array ) que usa a rotina de VarArrayOf rapidamente.

Por exemplo:

with NomedaTabela do

begin

if Locate('CampoMes', 'Março', [loPartialKey]) then

NomedaTabela.Valor := 10,00;

end;

Mai informações no help do delphi

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

o que pode estar errado nesse codigo?

procedure TForm1.ToolButton4Click(Sender: TObject);

begin

with DM.Tabela1 do

begin

DM.Tabela1.Edit;

//if Locate('CampoMes', 'Março', [loPartialKey]) then

if Locate('CampoMes', 'Março', [loCaseInsensitive]) then

DM.Tabela1Valor.Value := strtofloat(Edit1.Text);

DM.Tabela1.Post;

end;

end;

tentei com duas formas loPartialKey, loCaseInsensitive mas sempre dar esse erro

Tabela1' : Dataset not in edit or insert mode'.Process stopped.
Link para o comentário
Compartilhar em outros sites

  • 0
Tabela1' : Dataset not in edit or insert mode'.Process stopped.

este erro significa: o Dataset não esta em modo de edição ou inserção de registros. Processo parado

então voce deve deixar o codigo assim

procedure TForm1.ToolButton4Click(Sender: TObject);
begin
    with DM.Tabela1 do
       begin
         
       //if Locate('CampoMes', 'Março', []) then  // pode ser assim tambem

          if Locate('CampoMes', 'Março', [loCaseInsensitive]) then
             begin
                   DM.Tabela1.Edit;  // o edit so deve vir depois que ele achar o registro 
                   DM.Tabela1Valor.Value := strtofloat(Edit1.Text);
                   DM.Tabela1.Post;
               end;
                 end;

end;

abraço

Editado por Jhonas
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...