tabela locate

Delphi

10/01/2014

boa tarde galera, alguem pode me ajudar?
estou querendo fazer uma trava no sistema caso o aluno ja estiver com um cadastro em uma aula, ele nao pode mais entrar nessa aula, entao vamos la

estou dando um locate na tabela para verificar se o cod aluno está naquela lista junto com o cod aula, e se ele ja estiver na aula o sistema mostra uma mensagem de erro, mas nao sei como fazer, estou começando assim

if tabprodpedidos.Locate('CodCliente',dbedit13.Text,[]) then
begin

showmessage('ALUNO JA ESTÁ CADASTRADO NESSE CURSO');

end
Else
showmessage('NAO ACHEI');
como seria o certo de fazer essa busca? me ajudem.
Tiago Silva

Tiago Silva

Curtidas 0

Respostas

Tiago Silva

Tiago Silva

10/01/2014

está assim agora......

if tabprodpedidos.Locate('CodCliente',dbedit13.Text,[]) and tabprodpedidos.Locate('Codproduto',dbedit14.Text,[]) then
begin

showmessage('ALUNO JA ESTÁ CADASTRADO NESSE CURSO');

end
Else
showmessage('NAO ACHEI');
end;
GOSTEI 0
Marco Salles

Marco Salles

10/01/2014

Tente fazer uma pesquisa utilizando o Clone do Cds . Pesquise sobre clonecursor

[]sds
GOSTEI 0
Marco Salles

Marco Salles

10/01/2014

Tente fazer uma pesquisa utilizando o Clone do Cds . Pesquise sobre clonecursor

[]sds


Desculpe Rafel eu respondi rapidamente achando que vc estivesse utilizando o Clientdataset , mas ao reler a sua dúvia me parece que vc esta utilizando um TTable com a Base de
Dados Padadox . è isto mesmo ???
GOSTEI 0
Tiago Silva

Tiago Silva

10/01/2014

é isso mesmo.. table com paradox.
GOSTEI 0
Marco Salles

Marco Salles

10/01/2014

Então tiago Vamos com calma que tem muito tempo que não utilizo este acesso a Base deDados . Mas lembro vagamente que sofria com este tipo de problema

Quando vc faz esta busca , este Locate , o seu Registro esta no Modo de Inserção ??? Pois pelo que estou vendo vc esta utilizando Dbedits e so se consegue escrever neles
se os mesmo estiverem em Modo de Inserção ou Edição .. Certo ???
GOSTEI 0
Tiago Silva

Tiago Silva

10/01/2014

estão em modos de edição,... mas eu consegui fazer aqui, está funancionand, só que esse teste está somente no lugar erro,.. obrigadoo
GOSTEI 0
Marco Salles

Marco Salles

10/01/2014

estão em modos de edição,... mas eu consegui fazer aqui, está funancionand, só que esse teste está somente no lugar erro,.. obrigadoo



Se eu entendi o que vc escreveu , vc esta dizendo que so caiu o teste no lugar errado . mesmo que não exista ainda registro na base de dados .. Seria isto ???

[]sds
GOSTEI 0
Tiago Silva

Tiago Silva

10/01/2014

eu keria saber se existe akele dado antes de incluir, porem eu estava com esse comando somente ao gravar, entao eu só sabia se existia no comando gravar, agora eu coloquei o comando no botao incluir, ai ele ja me avisa se o cliente o com o codigo tal, está cadastrado no curso tal, se sim, ele aplica o table.delete, e limpa os campos, se nao, ele procede com a inclusao do aluno entendeu?
GOSTEI 0
Marco Salles

Marco Salles

10/01/2014

eu keria saber se existe akele dado antes de incluir, porem eu estava com esse comando somente ao gravar, entao eu só sabia se existia no comando gravar, agora eu coloquei o comando no botao incluir, ai ele ja me avisa se o cliente o com o codigo tal, está cadastrado no curso tal, se sim, ele aplica o table.delete, e limpa os campos, se nao, ele procede com a inclusao do aluno entendeu?


Mas será uma boa idéia aplicar o delete e posteriormente proceder com a inclusão ??? Acredito que não

O que ocorre ao se utilizar o Locate ou outros procedimentos de Busca em um DataSet quando este esta no Modo de Edição ou Inserção é que o Ponteiro se desloca
Ao se deslocar o ponteiro os dados são Salvos ou tentam serem salvos . O que ocorre é que mesmo que o Aluno seje de fato Novo e vc tem certeza disso , ao se utilizar
o Locate no modo de Inserção a mensagem que se tem é que o Aluno ja esta Cadastrado ...


Ná época o que eu fazia , que eu me lembre , ao utilizar Table/Paradox era fazer a Pesquisa em um Outro DataSet (Table) que continha os Mesmos Dados , Ligados a mesma
fonte de Dados , do Table que estou manipulando ... Este Table era somente para pesquisar .


Tipo alguma coisa assim

if UMOUTROtabprodpedidos.Locate('CodCliente',dbedit13.Text,[]) then
begin

showmessage('ALUNO JA ESTÁ CADASTRADO NESSE CURSO');

end
Else
showmessage('NAO ACHEI');

[]sds
GOSTEI 0
POSTAR