Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DOUGLASAP

Verificar se nome ja esta cadastrado

Recommended Posts

Amigo,

Me ajuda um uma coisa

tenho

tabela1 ; tabela2 ; tabela3

 

Preciso realizar apenas consulta e talvez imprimir os dados de alguns campos de cada tabela por exemplo

 

 

tabela1

Data | Nome | Setor

 

Tabela2

Hora_f | Hora_p | Hora_u | Hora_total

 

Tabela3

titulo | quantiade | peso

 

* Lembrando que cada tabela faz parte de form diferente Tabela1 esta no form1 | Tabela2 esta no form2 | tabela3 esto no form3

 

 

Como posso realizar apenas Consulta e/ou talvez Imprimir os seguintes dados por exemplo

 

tabela1 | tabela2 | tabela3

| Nome | Setor | Hora_total | titulo | quantiade | peso

 

idéia é a seuguinte

Digitar o numero de contrato e atravez dessa consulta ele me traz as infomações referente ao contrato pegar alguns dados de cada

tabela.

 

Preciso criar uma outra tabela para consultar, e quando mandar salvar nas tabelas, ele salvaria na tabela atual e na tabela_consulta ao mesmo tempo ?

 

Obrigado Amigo

Espero ter explicado direito que eu quero . . . rsrsr

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Referente a sua dúvida anterior, você conseguiu resolver? Antes de passar para outras, vamos tentar solucionar uma de cada vez.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola amigo, ainda não consegui solucionar

estou tentando, minha pergunta do post anterior foi justamente para que quando conseguisse resolver um iria partir para o outro sem essa dúvida que estou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Tente anexar alguma imagem desse "form" que você digita o equipamento pra ver se consigo entender melhor então.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Enviei um e-mail pra você, você recebeu? Se possível envie seu projeto nele para que eu possa analisar e te ajudar.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Não recebi seu projeto ainda, verifique o e-mail para o qual você está enviando, nem no meu spam está constando nada do tipo.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal,

 

DOUGLASAP, o componente ADOTable_cad_equipamento que você está usando para fazer o cadastro é o mesmo que você usa para pesquisar?

 

Se tua resposta for SIM (te explico o motivo do erro caso sua resposta dor SIM), favor criar uma tabela para cadastro e outra para pesquisa aí na tabela de pesquisa você pode usar o código que o Eisenheim já te passou.

 

O código passado pelo nosso amigo Eisenheim foi:

 

 

if DataModule2.ADOTable_cad_equipamento.Locate( 'EQUIPAMENTOS', DBEdit1.Text, [loCaseInsensitive]) then

Begin
showmessage ('Equipamento ja cadastrado');
DataModule2.ADOTable_cad_funcionario.Cancel;
end
else
begin
DataModule2.ADOTable_cad_equipamento.Post;
end;
Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo Samuca_2010

 

 

Sim, a tabela que utilizo para cadastro é a mesma que utilizo para consulta, o que estou precisando é não deixar que o usuário cadastre o mesmo item novamente.

Mesmo assim é necessário criar uma tabela de consulta ?

Sendo assim, preciso pedir que salve os dados em 2 (duas) tabelas ? DataModule2.ADOtable_consulta_equipamento e DataModule2.ADOTable_cad_equipamento ?

Isso ficaria no mesmo button_inserir ?

 

Obrigado pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Acredito que o que nosso colega Samuca se refere, é você ter outro objeto Query/Table somente para pesquisa.

Na sua tela de cadastro você tem uma Query/Table que aponta para a tabela de equipamentos. Você teria uma segunda Query/Table para realizar a pesquisa, estando esse apontando também para a tabela de equipamentos.

 

Entendeu?

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Imagine que no seu form de cadastro você possui uma Table que está buscando as informações da tabela equipamento, cuja a mesma você utiliza para realizar o processo de inclusão/alteração dos registros.

 

Agora, imagine que nesse mesmo form você possui uma outra Table que também está apontando para a tabela de equipamentos, no entanto essa Table você utiliza apenas para fazer uma consulta antes de realizar a inclusão/alteração de novos registros.

 

Um exemplo:

 

tbCadEquipamentos - Essa é a que está vinculada com os controles do seu form na qual você utiliza para realizar as inclusões/alterações de registros da tabela de equipamentos;

 

tbPesqEquipamentos - Essa é a que você usa apenas para pesquisar pelos registros já cadastrados na sua tabela de equipamentos.

 

Conseguiu compreender?

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Douglas,

 

Primeiro, como sua resposta foi SIM, está utilizando o componente ADOTable_cad_equipamento para inserir e pesquisar se o registro já existe, então deixa eu explicar o motivo do erro, ou pelo menos tentar.

 

Enquanto sua tabela (me refiro ao componente AdoTable) estiver em modo de Inserção/Edição, você não pode fazer uma pesquisa utilizando o mesmo componente.

 

Bom, aqui está um exemplo de como utilizar o evento BeforePost, como sugeriu nosso amigo Onesio Lucena Neto,

 

Considerando que seu componente esteja configurado corretamente (ConnectionString, TableName), no evento BeforePost do componente ADOTable_cad_equipamento, dê um duplo click e insira o código:

 

 

procedure TForm1.adotClienteBeforePost(DataSet: TDataSet);
// Daqui para baixo
var
tabelaPesquisa: TADOTable;
begin
// Cria uma tabela dinâmica e informamos que o pai
// desta tabela é o próprio formulário (Form1).
tabelaPesquisa := TADOTable.Create(Self);
// Bloco try finally utilizado para garantir que o objeto
// tabelaPesquisa será destruído assim que o método for
// executado.
try
// Este bloco try except foi utilizado para personalizar a
// mensagem para o usuário.
try
tabelaPesquisa.ConnectionString := adotCliente.ConnectionString;
tabelaPesquisa.TableName := adotCliente.TableName;
// Abre a tabela.
tabelaPesquisa.Open;
// Verifica se o cliente foi encontrado.
if tabelaPesquisa.Locate('Nome', txtNome.Text, []) then
begin
// Mostra a mensagem para o usuário informando que o
// cliente já existe.
ShowMessage('Cliente ' + txtNome.Text + ' já está cadastrado. ');
// Sai do método.
Exit;
end;
except
// Informa o usuário que ocorreu um erro.
ShowMessage('Ocorreu um erro ao pesquisar o cliente.');
end;
finally
// Destroi o objeto tabelaPesquisa.
tabelaPesquisa.Free;
end;
// Até aqui
end;
Agora no botão Salvar, insira o seguinte código:

procedure TForm1.btnSalvarClick(Sender: TObject);
begin
adotCliente.Post;
end;

 

Qualquer dúvida poste ai.

 

Abraço!



Douglas,

 

O código que eu demonstrei acima, deve ser tratado em casos de edição, ok?

 

tratando isso, ficaria assim:

 

if ADOTable_cad_equipamento.State = dsInsert then

begin

Aqui você coloca o código que passei.

end;

 

Assim você está dizendo que o sistema deve validar apenas quando o usuário estiver inserindo, é claro que o usuário pode salvar, clicar em editar e trocar o nome e salvar, mas ai você tem que ver a regra de negócio, ver se é permitido editar o registro, se pode alterar o nome.

 

É possível validar no modo de edição, porém muda a lógica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos.

 

Ainda existem dúvidas relacionadas nesse tópico?

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Enviei uma nova MP para você. Verifique sua caixa de entrada.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

BOA TARDE AMIGOS!!ESTOU COM ESSE PROBLEMA TBM... O MEU SALVA SEMPRE... MEU COD.

 

procedure TF_USUARIO.ActSalvarExecute(Sender: TObject);
begin //butão salvar

//VERIFICANDO OS ESPAÇOS EM BRANCO DO EDIT

if Trim(EDT_NOME.Text) = '' then
begin
ShowMessage('Preencha o Campo Nome');
Abort;
end;
if trim(EDTLOGIN.Text) = '' then
begin
ShowMessage('Iserir um login valido');
Abort;
end;
if trim(EDTSENHA.Text) = '' then
begin
ShowMessage('O Campo Senha Não Pode ser Vazio');
Abort;
end;

//***FIM DA VERIFICAÇÃO DOS CAMPOS EM BRANCO

BEGIN
DM.TBL_USUARIOnome.AsString:=EDT_NOME.Text;
DM.TBL_USUARIOsenha.AsString:=EDTSENHA.Text;
DM.TBL_USUARIOstatos.AsString:='A';
DM.TBL_USUARIOdata_cadastro.AsDateTime:=now;
dm.TBL_USUARIOlogin.AsString:=EDTLOGIN.Text;

if DM.TBL_USUARIO.Locate('LOGIN', EDTLOGIN.Text,[]) then //***VERIFICANDO SE USUARIO JA EXISTE
BEGIN
ShowMessage('USUARIOA JA CADASTRADO') ;
DM.TBL_USUARIO.Delete;
Abort;

END
ELSE
DM.TBL_USUARIO.Post;
LimparEdit;
Application.MessageBox('Registro Salvo com Sucesso!','Informação!!!', MB_OK+MB_ICONINFORMATION);
PgCont_Usuario.ActivePageIndex:=1;


END;

//**************

DA A MESSAGE DE USUARIO CADASTRADO MAS MESMO ASSIM QUANDO VEIJO NO BANCO ELE SALVOU!!! ONDE EU ERREI PODEM ME AJUDAR ESTOU COM APENAS 2 MESES ESTUDANDO DELPHI.... OBRIGADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.