Olha eu tenho uma tabela separada CAIXA DO DIA, com o nome de CXADIA.
Nesta tabela tenho os seguintes campos:
Data
Caixa
Operador
Troco
HoraAbertura
HoraFechamento
Situacao (ABERTO / FECHADO)
SEQUENCIA (Número Sequencial)
Nesta Tabela eu pego o numero do Terminal/Caixa, e procuro na tabela se o caixa está ABERTO.
Se estiver, pego o numero da Sequencia e desabilito o botão de Abrir Caixa, e aviso o operador que o Caixa está aberto com Tal Operador.
Se estiver FECHADO, desabilito o botão fechar caixa, e todos os botões de movimentos, Lançar comanda, etc...
Só vai haver movimentos com o Caixa Aberto.
Nos movimentos, é que gravo, formas de pagamentos, numero da comanda (ou NF/Cupom, etc), e claro o numero de Sequencia do Caixa Aberto.
No fechamento do Caixa, pego todos os movimentos com o numero de Sequencia e somo com o Troco, por formas de pagamentos, e -Retiradas, Sangrias, Despesas, + Suprimentos do Caixa Identificado tudo pelo número de Sequencia, e claro todos estes dados em tabelas respectivas, no caso de Sangria, Retiradas, Suprimentos, Despesas, uma unica tabela, vc sabe como fazer.
Se o Caixa foi aberto por um Operador e outro entra no Sistema, voce pode avisar, bloquear, enfim o que quiser.
Fica fácil, agil e funcional.
vlu//