Fórum dúvida sistema biblioteca #238610

19/06/2004

0

olá estou desenvolvndo um sistema para biblioteca, neste sistema um livro possui vários exmplares e quando faço o aluguel dos exemplares a cada exemplar alugado , o sistema diminui a quantidade de exmplares na biblioteca o problema ocorre quando da devolução eu não consigo inserir no estoque os livros devolvidos para atualiza-lo, eu seleciono num lookup o aluno e um grid exibe os aluguéis por ele realizados e um outro grid exibe os livros que ele alugou quando eu seleciono o aluguel, agora na hora da devolução ele só inclui um livro na soma do estoque entenderam????


Xereuzinho

Xereuzinho

Responder

Posts

19/06/2004

Mmtoor

Prezado:
Utilize em sua tabela um campo do tipo lógico (sim/não) para que ele seja marcado quando o livro for locado.
No seu select crie a instrução para a listagem dos liccros com este campo lógico em true (para saber quando estão locados) e outra em false (para saber os que se encontram na biblioteca).
Lancando-se o contador para isso você terá sempre a sua reposição atualizada de forma automática.
OK.


Responder

Gostei + 0

19/06/2004

Xereuzinho

olha amigo eu tentei mas não consegui com a sua dica será que vc não tem um fonte parecido para me dar como exemplo ??


Responder

Gostei + 0

19/06/2004

Aroldo Zanela

Colega,

Qual o banco de dados? Pode colocar um fragmento do código para ser analisado?


Responder

Gostei + 0

19/06/2004

Xereuzinho

olha o código é o seguinte, quando eu clico no botão devover livro o código é mais ou menos assim

dm.livros.edit;
dm.livrosQuantidade_estoque:= dm.livrosQuantidade_Estoque+1 ;
dm.livros.post;

o banco é access e a conexão é com ADO

Abraços e bom fim de semana


Responder

Gostei + 0

19/06/2004

Aroldo Zanela

Colega,

Como você registra as devoluções? Há uma entrada de dados para as devoluções que cria um histórico (p.e: tabela de devoluções)? Antes de utilizar o edit, como você se posiciona no registro correto? Se são vários registros, o fragmento acima está dentro de um loop While ... do?


Responder

Gostei + 0

19/06/2004

Xereuzinho

eu fiz assim com um lookup eu seleciono o aluno e filtro todos os empréstimos que são exibidos num grid e em outro grid são exibidos os itens de emprestimos por exemplo se eu seleciono um emprestimo do aluno xereuzinho o 2º grid me mostra todos os livros que ele emprestou , quanto a tabela devolução eu não tenho acredito que dá pra fazer isso só com as seguintes tabelas : Livros, emprestimos, Livro_Emprestimo, e alunos


Responder

Gostei + 0

19/06/2004

Aroldo Zanela

Colega,

Supondo que existem as informações de livros emprestados em uma determinada tabela que é alimentada quando da devolução dos mesmos, então você teria uma rotina semelhante a:

SELECT * FROM DEVOLUÇÕES WHERE <EXPRESSÃO>


Na instrução acima, a expressão deve ser provida pelos critérios necessários para identificar de forma única a devolução.
Em seguida, pode-se:

dm.Devolucoes.First;
while not dm.Devolucoes.Eof do
begin
  if dm.Livros.Locate(´colunaCodigo´, dm.Devolucoes.FieldByName(´coluna_codigo´).Value, []) then
  begin
    dm.livros.edit; 
    dm.livrosQuantidade_estoque:= dm.livrosQuantidade_Estoque+1 ; 
    dm.livros.post; 
  end;
  dm.Devolucoes.Next;
end;


Faça os devidos ajustes para seu código, pois além de não conhecer os detalhes de modelagem de seu sistema, escrevi ´on the fly´ diretamente no fórum. Pode conter erros.


Responder

Gostei + 0

19/06/2004

Xereuzinho

Colega Muito Obrigado Acho que agora deu certo valeu e desculpe te incomodar


Responder

Gostei + 0

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

Aceitar