Ajuda - Busca - Membros - Calendário
Versão Completa: Como Definir Pendencias Em Materiais Utilizados Em Turnos
Fórum Ativo Access > Componentes do Access > Tabelas e Relacionamentos
cyro
Caros amigos,
Não domino muito bem o Access e estou tentando fazer um teste de controle de aparelhos de comunicação HTs com leitura por código de barras com alguns modelos que consegui.
Para isto tentei criar uma única tabela “HTs Movimentação”, com entrada e saída e dois formulários ”HTs Entregas e HTs Devoluções” direcionados a esta mesma tabela. Não obtive resultado porque não consegui criar uma consulta para chamar no formulário de devoluções inserindo o código de barras os dados já inseridos pelo formulário de entrada e criar data e hora da devolução para fechar o registro. Pensei então em criar duas tabelas HTs_Movim_Saida e HTs_Movim_Entrada, que geram data e hora quando abertas pelos formuários HTs Entregas e HTs Devoluções, porém, como minha empresa trabalha em 4 turnos, e durante eles os funcionários utilizam HTs, retornando e saindo novamente no próximo turno com novos funcionários deparei com um novo problema ao tentar fazer uma consulta de HTs_Pendentes, pois não consegui filtrar os HTs que saíram, retornaram e saíram novamente, porque as consultas consideram a baixa anterior para as novas saídas. Se alguém tiver alguma idéia por favor me retornem, obrigado.

Cyro
OsmarJr
Coloque os campos da sua tabela para podermos sugerir alguma coisa.

Talvez um simples campo Sim/Não sirva para identificar as atendidas.
cyro
Os campos utilizados em minhas Tabelas são:
Nas Tabelas separadas:

HT_Saida
Data_Saida
Hora_Saida
Usuario
Entregue_Por

e

HT_Retono
Data_Retono
Hora_Retorno
Recebido_Por

E na Tabela única:

HT
(E todos os demais campos)
OsmarJr
Particularmente faria uma tabela única:

ID -> Autonumeração - Para criar um registro único
HT -> Seu número
Data_Saida
Hora_Saida
Usuario
Entregue_Por
Data_Retono
Hora_Retorno
Recebido_Por

No seu formulário, no evento Antes de atualizar do campo que recebe o número da HT:
CODE
Private Sub NumHT_BeforeUpdate(Cancel As Integer)
Dim RS As DAO.Recordset

If Not IsNull(DLookUp("ID", "tabHT", "HT = " & Me("NumHT")) Then ' Procura pela HT
    Set RS = Me.RecordsetClone             'Cria cópia do conjunto de registros
    RS.FindFirst "HT = " & Me("NumHT")   'Procura pelo registro
    Me.Undo                                          'Desfaz a entrada no formulário
    Me.BookMark = RS.BookMark           ' Traz o registro para o form
    Set RS = Nothing                              'Libera a memória
Else                                                     'Não achou a HT
    MsgBox "HT não cadastrada"              
End If


Aí é só editar os campos seguintes.
cyro
Olá Osmar, me desculpe por não ter dado retorno este tempo todo, estive doente afastado do serviço e impossibilitado de fazê-lo, quanto ao código pude testá-lo e deu certo, porém gostaria de perguntar se existe a possibilidade de após o código colar os dados copiados no formulário, do cursor ir automaticamente para o Campo "Recebido_Por" e após este ser prenchido o sistema reconhecer os campos posteriores "Data_Retorno" e "Hora_Retorno" com a Data e Hora do evento. Desde já agradeço muito pela grande colaboração.
cyro
Estou aqui novamente para dizer que consegui, o módulo ficou assim:

Private Sub HT_BeforeUpdate(Cancel As Integer)
Dim RS As DAO.Recordset

If Not IsNull(DLookup("ID", "HTs Movimentação", "HT = " & Me("HT"))) Then ' Procura pela HT
Set RS = Me.RecordsetClone 'Cria cópia do conjunto de registros
RS.FindFirst "HT = " & Me("HT") 'Procura pelo registro
Me.Undo ' Desfaz a entrada no formulário
Me.Bookmark = RS.Bookmark ' Traz o registro para o form
Set RS = Nothing 'Libera a memória

Else 'Não achou a HT
MsgBox "HT não cadastrada"

End If

Me.Data_Retorno = (Date)
Me.Hora_Retorno = (Now)

End Sub

Obrigado pela ajuda.
Doxbrieree
ezik celebrex 200 mg xhdbqknc what is celebrex xckg, celebrex medication eupefubc.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2019 Invision Power Services, Inc.