Auto incrementer o campo Código do Produto
Tenho um form com os seguintes componentes: um DBEdit para o NOME da cidade, outro para o ESTADO e outro para o ID_CÓDIGO, coloquei um DBNavigator para controlar, mas eu gostaria que quando eu clicasse em INSERIR no DBNavigator, o DBEdit do código ja fosse automaticamente preenchido...auto-incrementado.
Essa propriedade eu defino na própria tabela ou em algum componente?
OBS: O acampo ID_CODIGO é chave primaria.
Essa propriedade eu defino na própria tabela ou em algum componente?
OBS: O acampo ID_CODIGO é chave primaria.
Vispo
Curtidas 0
Respostas
Rjun
15/06/2005
Que banco você esta usado? Esta usando Query? Seu sistema é em rede?
Supondo que você estivesse usando Query, você poderia no evento ONNEWRECORD fazer uma query que retornasse o proximo codigo a ser lançado.
Supondo que você estivesse usando Query, você poderia no evento ONNEWRECORD fazer uma query que retornasse o proximo codigo a ser lançado.
GOSTEI 0
Daniel_mc
15/06/2005
Náo creio ser das melhores praticas de programacao, mas vc poderia dar um post para que o registro fosse salvo e exibido na sua tela(isto se o seu campo for autonumerico) e depois dar um edit para que o restante dos campos fossem inseridos. Tudo isto nos eventos do DBNavigator e uma variavel para monitorar quando sera um post e quando sera um edit
GOSTEI 0
Vispo
15/06/2005
Que banco você esta usado? Esta usando Query? Seu sistema é em rede?
Supondo que você estivesse usando Query, você poderia no evento ONNEWRECORD fazer uma query que retornasse o proximo codigo a ser lançado.
Exatamente, uso uma Query e banco de dados SQL Server.
No caso, essa query que retorna o valor, teria que varrer a tabela, pegar o maior código e acrescentar + 1. Seria isso? Caso nao seja coloca um exemplo ai se possivel..
Valeu!!! :)
GOSTEI 0
Rjun
15/06/2005
No caso, essa query que retorna o valor, teria que varrer a tabela, pegar o maior código e acrescentar + 1. Seria isso?
Foi bem isso que pensei. Você também poderia criar uma tabela com a seguinte estrutura:
Tabela Varchar(50) ID int
Onde você guardaria o nome da tabela e o ultimo código gerado. Ai no evento OnNewRecord, você passaria para uma query o nome da tabela e a query pegaria o ID atual, somaria 1 e te retornaria o número do proximo ID.[/code]
GOSTEI 0
Gpfranca
15/06/2005
Tenho um form com os seguintes componentes: um DBEdit para o NOME da cidade, outro para o ESTADO e outro para o ID_CÓDIGO, coloquei um DBNavigator para controlar, mas eu gostaria que quando eu clicasse em INSERIR no DBNavigator, o DBEdit do código ja fosse automaticamente preenchido...auto-incrementado.
Essa propriedade eu defino na própria tabela ou em algum componente?
OBS: O acampo ID_CODIGO é chave primaria.
function TdmServer.UltimaSequencia(pNomeSequencia: String): String;
var
qryTmp: TSQLQuery;
begin
{ Função que retorna qual a ultima sequencia gerada por cada Seção(Terminal) }
qryTmp := TSQLQuery.Create(Self);
qryTmp.SQLConnection := dmServer.SQLConnection;
qryTmp.SQL.Add(´SELECT last_value as ultimo_id FROM ´+pNomeSequencia);
qryTmp.Open;
Result := qryTmp.fieldByName(´ultimo_id´).AsString;
qryTmp.Free;
end;
Acho que te serve amigo... Esse pega o ultimo codigo gerado... Só incrementar mais um...
GOSTEI 0