Pesquisa campo auto-incremento = erro!!
Bom dia pessoal.... eu precisei transformar um campo da minha tabela em ´Auto incremento´ ou seja no Database Desktop eu abri minha tabela ´TimeCode´ e alterei o campo ´NControle´ de (A 4) para (+)(Auto-incremento).... Só que aconteceu um problema que eu não estou conseguindo contornar!!!!!
No On-Create do meu Form Pesquisa existe a seguinte informação
procedure TFormPesquisaImagem.FormCreate(Sender: TObject);
begin
TableTimeCode.Open;
While not TableTimeCode.Eof do
begin
if (ComboBox1.Items.IndexOf(TableTimeCode.FieldByName(´DescricaoImagem´).Value) = -1) then
ComboBox1.Items.Add(TableTimeCode.FieldByName(´DescricaoImagem´).Value);
TableTimeCode.Next;
end;
end;
Eu fiz este código para o meu Combobox preencher com todas as minhas ´Descrições de Imagens´ quando o formulário é aberto!
Quando eu clico no botão pesquisa que tem o seguinte código abaixo aparece uma mensagem de erro (´ ´Texto digitado´ is not a valid integer value for field ´ NControle´ ´) Alguém sabe o que eu estou fazendo de errado???
procedure TFormPesquisaImagem.BitBtn1Click(Sender: TObject);
var
DescImagem: String;
begin
if ComboBox1.Text = ´´ then
begin
ShowMessage(´Digite ou selecione o nome da Imagem!´);
ComboBox1.SetFocus;
Exit;
end;
DescImagem := ComboBox1.Text;
TableTimeCode.FindKey([DescImagem]);
TableTimeCode.CancelRange;
TableTimeCode.IndexName := ´IDescricaoImagem´;
TableTimeCode.SetRange([DescImagem],[DescImagem]);
if TableTimeCode.Eof then
begin
TableTimeCode.CancelRange;
ShowMessage(´Nenhuma imagem encontrada!´);
Height:=128;
ComboBox1.Text:=´´;
ComboBox1.SetFocus;
end
else
begin
Height := 310;
Top := 110;
Combobox1.Text:=´´;
Combobox1.SetFocus;
end;
end;
No On-Create do meu Form Pesquisa existe a seguinte informação
procedure TFormPesquisaImagem.FormCreate(Sender: TObject);
begin
TableTimeCode.Open;
While not TableTimeCode.Eof do
begin
if (ComboBox1.Items.IndexOf(TableTimeCode.FieldByName(´DescricaoImagem´).Value) = -1) then
ComboBox1.Items.Add(TableTimeCode.FieldByName(´DescricaoImagem´).Value);
TableTimeCode.Next;
end;
end;
Eu fiz este código para o meu Combobox preencher com todas as minhas ´Descrições de Imagens´ quando o formulário é aberto!
Quando eu clico no botão pesquisa que tem o seguinte código abaixo aparece uma mensagem de erro (´ ´Texto digitado´ is not a valid integer value for field ´ NControle´ ´) Alguém sabe o que eu estou fazendo de errado???
procedure TFormPesquisaImagem.BitBtn1Click(Sender: TObject);
var
DescImagem: String;
begin
if ComboBox1.Text = ´´ then
begin
ShowMessage(´Digite ou selecione o nome da Imagem!´);
ComboBox1.SetFocus;
Exit;
end;
DescImagem := ComboBox1.Text;
TableTimeCode.FindKey([DescImagem]);
TableTimeCode.CancelRange;
TableTimeCode.IndexName := ´IDescricaoImagem´;
TableTimeCode.SetRange([DescImagem],[DescImagem]);
if TableTimeCode.Eof then
begin
TableTimeCode.CancelRange;
ShowMessage(´Nenhuma imagem encontrada!´);
Height:=128;
ComboBox1.Text:=´´;
ComboBox1.SetFocus;
end
else
begin
Height := 310;
Top := 110;
Combobox1.Text:=´´;
Combobox1.SetFocus;
end;
end;
Renato Battaglia
Curtidas 0
Respostas
Renan
06/03/2004
voce tem que indexar antes de usar o comando de pesquisa no caso o findkey;
ex :
tabela.indexname := ´a´;
tabela.findkey([a.text]);
------------------
porque se vc nao definir o indece ele pega a chave primaria com opçcao de pesquisa
renan@inforplay.com.br
ex :
tabela.indexname := ´a´;
tabela.findkey([a.text]);
------------------
porque se vc nao definir o indece ele pega a chave primaria com opçcao de pesquisa
renan@inforplay.com.br
GOSTEI 0
Renato Battaglia
06/03/2004
Valeu pela dica Renan.... Eu já tinha indexado o campo, mas a linha estava no lugar errado!!!
Bastou eu colocar a linha de index antes do comando FindKey que funcionou!!
Bastou eu colocar a linha de index antes do comando FindKey que funcionou!!
GOSTEI 0
Renato Battaglia
06/03/2004
Valeu pela dica Renan.... Eu já tinha indexado o campo, mas a linha estava no lugar errado!!!
Bastou eu colocar a linha de index antes do comando FindKey que funcionou!!
Bastou eu colocar a linha de index antes do comando FindKey que funcionou!!
GOSTEI 0