M@tEuS Postado Dezembro 12, 2006 Denunciar Share Postado Dezembro 12, 2006 Pra gente gerar um código novo automaticamente usa-se o AddNew não é?Quais são os parâmetros dele?tbExemplo.RecordSet.AddNew (?); :blink: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Dezembro 12, 2006 Denunciar Share Postado Dezembro 12, 2006 Pra gente gerar um código novo automaticamente usa-se o AddNew não é?Quais são os parâmetros dele?tbExemplo.RecordSet.AddNew (?); :blink:Como assim, gerar um código???você está usando Table??? :huh: Abs. Progr'amador. B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@tEuS Postado Dezembro 12, 2006 Autor Denunciar Share Postado Dezembro 12, 2006 Isso mesmo, e o Access Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Dezembro 12, 2006 Denunciar Share Postado Dezembro 12, 2006 Isso mesmo, e o AccessUeh!,o componente TTable não tem essa função RecordSet :unsure: e ainda não entendi essa: gerar um código novo automaticamentevocê está falando "gerar" um novo registro??? é isso?Abs. Progr'amador. B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Dezembro 13, 2006 Denunciar Share Postado Dezembro 13, 2006 e ainda não entendi essa: gerar um código novo automaticamenteeheh verdadeda detalhes do que você quer fazer M@theus nãoda pra entender nada... rs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@tEuS Postado Dezembro 13, 2006 Autor Denunciar Share Postado Dezembro 13, 2006 :P é, foi mal! Não expliquei direito.É o seguinte: se eu tiver, por exemplo, uma tabela "Cadastro de Produtos", e essa tabela possui um campo chamado "Código do Produto", como eu faço para que quando eu click em "btnNovo", o Delphi gere automaticamente um valor numérico para esse campo (ex.:001, 002, 003,...)? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Dezembro 13, 2006 Denunciar Share Postado Dezembro 13, 2006 :P é, foi mal! Não expliquei direito.É o seguinte: se eu tiver, por exemplo, uma tabela "Cadastro de Produtos", e essa tabela possui um campo chamado "Código do Produto", como eu faço para que quando eu click em "btnNovo", o Delphi gere automaticamente um valor numérico para esse campo (ex.:001, 002, 003,...)?Opa, agora sim,já que você está usando Table, é so pegar o valor do ultimo registro antes de inserir o novo redistro.tipo:var i : integer; begin Table1.Next; i := Table1.FieldByName('Codigo').Value + 1; Table1.Insert; Table1.FieldByName('Codigo').Value := i; etc... end;Abs. Progr'amador. B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@tEuS Postado Dezembro 13, 2006 Autor Denunciar Share Postado Dezembro 13, 2006 E se eu, por exemplo, deletar um registro no meio da tabela, tem como um novo registro usar o código do deletado? :huh: Não sei se deu pra entender. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Dezembro 13, 2006 Denunciar Share Postado Dezembro 13, 2006 opaE se eu, por exemplo, deletar um registro no meio da tabela, tem comoum novo registro usar o código do deletado?então pela lógica da função acima não daria pois ela sempre irá pegar o últimocódigo e criar um novo adicionando + 1, ou seja, 100, 101, 102 do jeitoque você queria...O que você pode fazer, é uma rotina que procure por "buracos" nos códigosdos produtos e assim se encontrado, o novo produto que vai ser cadastradovai ganhar aquele código, o que não é aconselhavél pois pode gerar futurosconflitos com relatórios por exemplo...abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@tEuS Postado Dezembro 13, 2006 Autor Denunciar Share Postado Dezembro 13, 2006 Valeu pela ajuda B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@tEuS Postado Dezembro 14, 2006 Autor Denunciar Share Postado Dezembro 14, 2006 Probleminha com incompatibilidade: :o Apareceu a mensagem de erro: 'Could not convert variant of type (OleStr) into type (Double).'Onde que tá o erro? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Dezembro 14, 2006 Denunciar Share Postado Dezembro 14, 2006 opapara que possamos te ajudar será necessário que você colea parte do seu código em que está dando o erro...abs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@tEuS Postado Dezembro 14, 2006 Autor Denunciar Share Postado Dezembro 14, 2006 Exatamente no código que o "Progr'amador" passou pra mim logo acima. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Dezembro 14, 2006 Denunciar Share Postado Dezembro 14, 2006 qual o nome do campo que você utiliza pra armazenaros códigos dos produtos, este campo é de qual tipo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@tEuS Postado Dezembro 14, 2006 Autor Denunciar Share Postado Dezembro 14, 2006 O nome é 'Codigo' e já coloquei como texto e como número e nenhum adiantou. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Dezembro 14, 2006 Denunciar Share Postado Dezembro 14, 2006 :P é, foi mal! Não expliquei direito.É o seguinte: se eu tiver, por exemplo, uma tabela "Cadastro de Produtos", e essa tabela possui um campo chamado "Código do Produto", como eu faço para que quando eu click em "btnNovo", o Delphi gere automaticamente um valor numérico para esse campo (ex.:001, 002, 003,...)?Opa, agora sim,já que você está usando Table, é so pegar o valor do ultimo registro antes de inserir o novo redistro.tipo:var i : integer; begin Table1.Next; i := Table1.FieldByName('Codigo').Value + 1; Table1.Insert; Table1.FieldByName('Codigo').Value := i; etc... end;Abs. Progr'amador. B)Progr'amador, permitame apenas uma observação:- deve ser substituído Table1.Next por Table1.Last, de modo a posicionar no último registro.Apareceu a mensagem de erro: 'Could not convert variant of type (OleStr) into type (Double).'M@tEuS, por acaso esse campo Codigo está definido no Access como Decimal ou outro com casas decimais? O ideal é que fosse Inteiro Longo.Uma outra coisa que você também pode tentar é definir o tipo de dados que você quer atribuir. Por exemplo:Table1.FieldByName('Codigo').AsInteger := i;Table1.FieldByName('Codigo').AsFloat := i;[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Dezembro 21, 2006 Denunciar Share Postado Dezembro 21, 2006 - deve ser substituído Table1.Next por Table1.Last, de modo a posicionar no último registro.Valeu Micheus, isso mesmo,apenas confundi na hora de postar.Abs. Progr'amador. B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
M@tEuS
Pra gente gerar um código novo automaticamente usa-se o AddNew não é?
Quais são os parâmetros dele?
tbExemplo.RecordSet.AddNew (?); :blink:
Link para o comentário
Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados
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.