Fórum Atribuir valor automaticamente #282896
24/05/2005
0
Bem sou muito iniciante em Delphi, infelizmente naum tenho condições de fazer um curso de delphi no momento então estou me esforçando ao máximo para aprender algo...estou tentando desenvolver um simples sistema para locadora....estou utilizando Delphi 7.0 e Firebird 1..5...
Seguinte: Já fiz o sistema de cadastro de Clientes e Filmes...funciona perfeitamente...mas eu queria saber como fazer para que cada vez que eu clicar no botão ´INSERIR´(que limpa a tela para um novo cadastro) eu atribua um valor automaticamente para o Edit Código...por exemplo
no meu cadastor de usuários tem lá:
Código
Nome
CPF
Endereço....etc...
eu que no campo código já venha uma numeração crescente...tipo o primeiro cadastro 1, o segundo 2, o terceiro 3 e etc....
A outra dúvida eh a seguinte....
Fiz o sistema de cadastro blz...mas estou tendo dificuldades para fazer o de consulta...no form eu tenho um dbgrid e um edit...eu qro que conforme eu vá digitando o nome do cliente o sistema vá filtrando os nomes no dbgrid....
Por favor peço que me ajudem...estou me esforçando p/ aprender...mas sozinho eh dificil d++...como sou iniciante peço que alguem explica detalhadamente...
Desde já agradeço
Vlw galera
Ramms
Curtir tópico
+ 0Posts
25/05/2005
Yallebr
As duas perguntas vc encontra já no forum.
Procure primeiro por ´Autoincremento´ ou ´Autoincremento DbExpress´.
A segunda basta vc utilizar ¬ em sua pesquisa sql. E coloca para disparar a consulta no onchange do edit. Isso não é bom para a velocidade.
Gostei + 0
25/05/2005
Ramms
Gostei + 0
25/05/2005
Yallebr
Agora vc precisa executar seu comando. O q vc está utilizando ADO, BDE, DDExpress ou o q ?
Vou dar o exemplo com DbExpress - ClientDataSet.
CDS.CommandText := ComandoSQL;
CDS.Open;
Lembre -se de colocar o DataSetProvider / option para AllowCommandText para True.
Fala qual tecnologia de acesso a dados vc ta usando.
Gostei + 0
26/05/2005
Ramms
Gostei + 0
27/05/2005
Roger1976
dm.cdsConsulta.FindNearest([campo.text]);
dm - é o nome que dei no data module - poderia ser qualquer um
cdsConsulta - é o nome que dei para o clientdataset
Se vc colocou os componentes direto no formulário, não precisa do nome do data module, é só colocar o nome do clientdataset que vc deu.
Eu tbem tô começando a aprender o delphi...
Qto ao campo auto incremento, eu tbem tô buscando uma solução pra este problema, caso eu a encontre, o avisarei.
Espero ter ajudado...
[]´s
Gostei + 0
28/05/2005
Ramms
Tipo ele vai pro ultimo registro do dbgrid...com qualquer nome que eu digitar...eu tinha consguido fazer uma busca só que com uma parada de params...de acordo com o exemplo da revista clubedelphi numero 61 do mes passado....só que qdo clicava no registro só fechava o form....
Se alguem quiser e puder me ajudar agradeço....
Gostei + 0
29/05/2005
Roger1976
[b:b70a1c0b99]
dm.cdsConsultaSimples.IndexFieldNames := ´NOME DO CAMPO´;[/b:b70a1c0b99]
No formulário, vá ao evento [b:b70a1c0b99]oncreate [/b:b70a1c0b99]e digite:
[b:b70a1c0b99] datamodule.datasource.DataSet.Open;[/b:b70a1c0b99]
no [b:b70a1c0b99]onclose[/b:b70a1c0b99]:
[b:b70a1c0b99] datamodule.datasource.DataSet.Close;[/b:b70a1c0b99]
Se não for usar data module, ignore o datamodule.
E, por fim, aquela linha que te passei, que será digitada no evento [b:b70a1c0b99]onchange[/b:b70a1c0b99]:
[b:b70a1c0b99] datamodule.clientdataset.FindNearest([campo.Text]);[/b:b70a1c0b99]
Eu fiz e refiz, deu certo, qualquer problema, te mando o projeto que eu fiz, é só mandar o seu e-mail.
Gostei + 0
29/05/2005
Wagsilvasilva
Também sou iniciante em delphi e, também estou começando a desenvolver um sistema pra video locadoras, porém ainda estou no primeiro formulário (cadastro de clientes), e foi a única tabela que criei até agora. Para conectar ao banco utilizo dbexpress com sqlconection, sqldataset, datasetprovider e clientedataset (fiz essa conexão graças a edição nº 61 da revista clubedelphi, te aconselho comprar esta edição, ou melhor, assiná-la. Tenho aprendido muitas coisas lá.
Meu primo utiliza o ibexpert para fazer um campo autoincremento com o interbase. Voce consegue faze-lo apenas com alguns cliques.
Tenho algumas linhas de código que baixei para conseguir fazer este autoincremento, porém ainda nao testei. Se quiser estas linhas me passe seu e-mail que te envio os códigos.
Gostei + 0
01/06/2005
Ramms
está ficando muito bom o sistema em breve posto para vcs avaliarem
E qto a sua dica roger vou testa-la qualquer coisaposto aki...vlwz...
Gostei + 0
01/06/2005
Ramms
Funcionou awe awe aweii vlw....
Gostei + 0
01/06/2005
Cabelo
seguinte..
no evento KeyPress do seu Edit, coloque esta procedure :
procedure P_Localizar(l_Key : Char; l_Edit : TEdit; l_Client : TClientDataSet; l_Campo : string; l_grid : TDBGrid);
begin
if (l_key <> #13) then
begin
if (l_key <> 8) then
begin
l_Client.Locate(l_Campo, l_Edit.Text + l_key, [loCaseInsensitive, loPartialKey]);
end
else
begin
l_Client.Locate(l_Campo, l_Edit.Text, [loCaseInsensitive, loPartialKey]);
end;
end
else
begin
l_Client.Edit;
l_grid.SetFocus;
end;
end;
Espero ter ajudado.
Gostei + 0
04/06/2005
Ramms
Entaum tenho mais algumas dúvidas:
Toda vez que eu abro o form de cadastro ele mostra o ultimo registro lá...eu qria que ele iniciasse em branco....mas com a tabela aberta...
E
Alguem sabe aonde eu posso encontrar um bom tuto sobre Master Detail??
Tipo eu tenho que vincular uma fita alugada a um locatário...tipo tem que ficar registrado que akele kra alugou akela fita...vlw
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)