ULTIMA MOVIMENTACAO - DAO
Alguém pode me ajudar?
Tenho um sistema criado na versão 5.0 do VB (com acesso a base de dados via DAO) que emprega um banco de dados <Filmes.mdb>, com três tabelas: <Andamento>, <Cliente> e <Filmes>.
Na movimentação do filme (tabela Andamento), criei uma rotina, no evento <LostFocus> da textbox <txtCodFita> onde, quando o usuário entra com um número de filme, cujo campo <Devolução>, que é acessado via txtDataRetorno, estiver vazio, então o sistema informa que o filme está emprestado. Se o campo <Devolução> contiver uma data, então o sistema permite prosseguir no cadastro de nova movimentação do filme.
No caso de haver apenas um registro por filme, o sistema funciona corretamente. O problema surge quando, havendo um filme que já foi devolvido (e que está com o campo <Devolução> preenchido), é permitido cadastrar um novo movimento para esse filme, sem data de retorno preenchida. Então, para um filme 'x', existe um registro de filme devolvido, e outro a devolver. Se tento cadastrar um terceiro movimento, o sistema não enxerga que o último movimento foi de saÃÂÂda (no caso, sem data de devolução ainda), aceitando um novo cadastro...
Como posso referenciar para que o sistema sempre aponte para a última movimentação (um mesmo filme, tendo sido emprestado três vezes: em 12/12/2006 e devolvido em 13/12/2006; emprestado em 15/12/2006 e devolvido em 20/12/2006; finalmente, emprestado em 25/12/2006 e ainda não devolvido, não aceite uma nova movimentação, já que não foi devolvido ainda...)?
Eis o código associado ao evento <LostFocus> da textbox txtCodFita:
'Nota: a função <CancelaDigitação> preenche os campos com os dados do filme, desabilitando o acesso às textbox.
Tenho um sistema criado na versão 5.0 do VB (com acesso a base de dados via DAO) que emprega um banco de dados <Filmes.mdb>, com três tabelas: <Andamento>, <Cliente> e <Filmes>.
Na movimentação do filme (tabela Andamento), criei uma rotina, no evento <LostFocus> da textbox <txtCodFita> onde, quando o usuário entra com um número de filme, cujo campo <Devolução>, que é acessado via txtDataRetorno, estiver vazio, então o sistema informa que o filme está emprestado. Se o campo <Devolução> contiver uma data, então o sistema permite prosseguir no cadastro de nova movimentação do filme.
No caso de haver apenas um registro por filme, o sistema funciona corretamente. O problema surge quando, havendo um filme que já foi devolvido (e que está com o campo <Devolução> preenchido), é permitido cadastrar um novo movimento para esse filme, sem data de retorno preenchida. Então, para um filme 'x', existe um registro de filme devolvido, e outro a devolver. Se tento cadastrar um terceiro movimento, o sistema não enxerga que o último movimento foi de saÃÂÂda (no caso, sem data de devolução ainda), aceitando um novo cadastro...
Como posso referenciar para que o sistema sempre aponte para a última movimentação (um mesmo filme, tendo sido emprestado três vezes: em 12/12/2006 e devolvido em 13/12/2006; emprestado em 15/12/2006 e devolvido em 20/12/2006; finalmente, emprestado em 25/12/2006 e ainda não devolvido, não aceite uma nova movimentação, já que não foi devolvido ainda...)?
Eis o código associado ao evento <LostFocus> da textbox txtCodFita:
Private Sub txtCodFita_LostFocus()
TbAndamento.Seek "=", txtCodFita
If TbAndamento![Devolução] = "" Then
MsgBox "Atenção! Filme emprestado..."
CancelaDigitação
Exit Sub
Else
lblFilme.Caption = TbCadFilmes.Fields("NomedoFilme")
End If
End Sub
'Nota: a função <CancelaDigitação> preenche os campos com os dados do filme, desabilitando o acesso às textbox.
Olá, vc pode criar um campo "STATUS" e definir nesse campo se o filme esta locado ou não...
já para ocorrencia do file ter mais cópias, crie codigos de referencia tipo 5898-a 5889-b ...
já para ocorrencia do file ter mais cópias, crie codigos de referencia tipo 5898-a 5889-b ...
'TÃÂÂtulos incorretos
Por favor não utilize tÃÂÂtulos para seu tópico que não ajudem em nada para quem pode te ajudar. Não coloque tÃÂÂtulos como "Help", "Socorro", "Pelo Amor de DEUS" pois isto só dificulta as pessoas interessadas em ajudar àolhar seu tópico.
'Seja sugestivo
Procure sempre ser sugestivo no tÃÂÂtulo de seu tópico, sendo o mais direto possÃÂÂvel, por exemplo, não coloque "Erro de banco de dados", mas sim "Erro ao executar consulta com Like", pois as pessoas que possuem mais conhecimento e intimidade com o VB que você poderão focar suas respostas e ajudá-lo facilmente.
"Pessoal Procurem pesquisar antes de postar"
"Leia as régras do Forum Porfavor"
REGRAS
Falow T+
Por favor não utilize tÃÂÂtulos para seu tópico que não ajudem em nada para quem pode te ajudar. Não coloque tÃÂÂtulos como "Help", "Socorro", "Pelo Amor de DEUS" pois isto só dificulta as pessoas interessadas em ajudar àolhar seu tópico.
'Seja sugestivo
Procure sempre ser sugestivo no tÃÂÂtulo de seu tópico, sendo o mais direto possÃÂÂvel, por exemplo, não coloque "Erro de banco de dados", mas sim "Erro ao executar consulta com Like", pois as pessoas que possuem mais conhecimento e intimidade com o VB que você poderão focar suas respostas e ajudá-lo facilmente.
"Pessoal Procurem pesquisar antes de postar"
"Leia as régras do Forum Porfavor"
REGRAS
Falow T+
Tópico encerrado , respostas não são mais permitidas