Fórum Atribuir valor automaticamente #282896

24/05/2005

0

Olá...
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

Ramms

Responder

Posts

25/05/2005

Yallebr

Amigo,


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.


Responder

Gostei + 0

25/05/2005

Ramms

Entaum kra com relação ao sistema de consulta..eu não tenho a minima idéia de como faze-lo...to ligado do ¬ mas naum sei como fazer o sistema inteiro....sou muito cabaço em delphi ainda....vlw...


Responder

Gostei + 0

25/05/2005

Yallebr

Amigo isso é SQL.

ComandoSQL = ´Select Campos from Tabela where Nome = ´Yalle¬´


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.


Responder

Gostei + 0

26/05/2005

Ramms

DBExpress kra..


Responder

Gostei + 0

27/05/2005

Roger1976

Kra, essa pesquisa é feita através do findnearest. Dê 2 cliques no campo onde vc vai fazer a consulta, e digite a linha de comando abaixo:

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


Responder

Gostei + 0

28/05/2005

Ramms

Awe kra pelo seu exemplo com o DataModule2.ClientDataSet1.FindNearest([Edit1.Text]);
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....


Responder

Gostei + 0

29/05/2005

Roger1976

Véio, tem outro detalhe que acabei me esquecendo. O campo a ser pesquisado tem que tá indexado. Então, tem que acrescentar mais uma linha de comando. No evento [b:b70a1c0b99]onenter[/b:b70a1c0b99], digite:
[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.


Responder

Gostei + 0

29/05/2005

Wagsilvasilva

Ola Ramms. Olha só que coincidência.
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.


Responder

Gostei + 0

01/06/2005

Ramms

wag kra ehauiheia...eu tenho essa edição da revista....consegui fazer a consulta só que qdo clica no nome fecha a tela (com o exemplo da revista)....
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...


Responder

Gostei + 0

01/06/2005

Ramms

Só pra avisar.....
Funcionou awe awe aweii vlw....


Responder

Gostei + 0

01/06/2005

Cabelo

Colega..

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.


Responder

Gostei + 0

04/06/2005

Ramms

Opa kra naum entendi o que vc quis dizer com esse código ^^ heuiahei acontece....
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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar