Fórum Adicionar um novo registro automaticamente #334757
15/12/2006
0
Eu tô usando o seguinte:
var
i: Integer;
...
Tabela.Last;
i:= Tabela.FieldByName(´Codigo´).AsInteger + 1;
Tabela.Insert;
Tabela.FildByName(´Codigo´):= i;
...
Mas tá dando o inexplicável erro: ´DataSet is not in edit or insert mode´.
Se alguém souber onde está o erro ou conhecer uma maneira melhor de fazer isso e puder me ajudar eu agradeço desde já.
M@teus
Curtir tópico
+ 0Posts
15/12/2006
Andersonpgsql
var
i,vl: Integer;
...
Tabela.Last;
i:= Tabela.FieldByName(´Codigo´).AsInteger;
v:=i+1;
Tabela.Insert;
Tabela.Edit;
Tabela.FildByName(´Codigo´):= v;
...
outra coisa...confira se a tabela esta aberta ou ativa... se não tive abra e ative-a
ai ve se da certo...mas ainda seria melhor se vc fizesse dentro do banco...como uma trigger ou uma sequencia ou até mesmo uma função...
Gostei + 0
15/12/2006
Andersonpgsql
um pequeno erro é vl, eu coloquei só v (rsrs)
Gostei + 0
18/12/2006
M@teus
Em um Form eu tenho uma DBEdit (txtCodProduto) que possui o seguinte código no evento OnChange:
if frmProdutos.tbProdutos.Locate(´Codigo´, txtCodProduto.Text, [])= True then
txtDescricao.Text:= frmProdutos.tbProdutosCodigo.AsString
else
txtDescricao.Text:= ´´;
Em runtime, quando faço alguma alteração na DBEdit dá um erro dizendo que os argumentos são insuficientes ou estão incorretos. Onde que pode estar o erro?
Gostei + 0
18/12/2006
Facc
Em um Form eu tenho uma DBEdit (txtCodProduto) que possui o seguinte código no evento OnChange:
if frmProdutos.tbProdutos.Locate(´Codigo´, txtCodProduto.Text, [])= True then
txtDescricao.Text:= frmProdutos.tbProdutosCodigo.AsString
else
txtDescricao.Text:= ´´;
Em runtime, quando faço alguma alteração na DBEdit dá um erro dizendo que os argumentos são insuficientes ou estão incorretos. Onde que pode estar o erro?[/quote:fb4ff46bc2]
Em que momento dá esse erro? Vc não tem nenhuma procedure lincada no OnExit desse DBEdit?
Gostei + 0
18/12/2006
M@teus
Gostei + 0
18/12/2006
Facc
e esse o código que se encontra no OnChange?
if frmProdutos.tbProdutos.Locate(´Codigo´, txtCodProduto.Text, [])= True then txtDescricao.Text:= frmProdutos.tbProdutosCodigo.AsString else txtDescricao.Text:= ´´;
Experimente assim
if frmProdutos.tbProdutos.Locate(´Codigo´, txtCodProduto.Text, []) then
Pois se encontrar o locate ele já traz o valor True, caso contrario, False
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)