Boa tarde,
Além de alterar as subrotinas cmdEntrada e cmdSaida, foi preciso incluir um código no evento “Apos a Alteração do Registro” do Formulário MainForm para os botões se comportarem adequadamente.
Arquivo alterado: Entrada_e_Saida_Novo.odb
REM ***** BASIC *****
Sub Apos_AlteracaoRegistro( oEvento )
Dim oSubForm as Object, ocmdEntrada as Object, ocmdSaida as Object
Dim otxtEntrada as Object, otxtSaida as Object
' Garantir que a fonte do evento é um Form'
If oEvento.Source.ImplementationName <> "com.sun.star.comp.forms.ODatabaseForm" Then Exit Sub
'Carregar os objetos'
oSubForm = oEvento.Source
ocmdEntrada = oSubForm.getByName( "Bt_Entrada" )
ocmdSaida = oSubForm.getByName( "Bt_Saida" )
otxtEntrada = oSubForm.getByName( "Entrada" )
otxtSaida = oSubForm.getByName( "Saida" )
'Habilitar/desabilitar o botão Entrada'
If otxtEntrada.BoundField.String = "" then
ocmdEntrada.Enabled = True
Else
ocmdEntrada.Enabled = False
End If
'Habilitar/desabilitar o botão Saída'
If otxtSaida.BoundField.String = "" then
ocmdSaida.Enabled = True
Else
ocmdSaida.Enabled = False
End If
End Sub
Sub cmdEntrada( oEvento )
Dim ocmdEntrada as Object, oSubForm as Object
Dim otxtEntrada as Object, otxtSaida as Object
ocmdEntrada = oEvento.Source.Model
oSubForm = ocmdEntrada.Parent
otxtEntrada = oSubForm.getByName( "Entrada" )
otxtSaida = oSubForm.getByName( "Saida" )
otxtEntrada.BoundField.Value = Time
'Desabilitar o botao entrada'
ocmdEntrada.Enabled = False
End Sub
Sub cmdSaida( oEvento )
Dim ocmdSaida as Object, oSubForm as Object
Dim otxtEntrada as Object, otxtSaida as Object
ocmdSaida = oEvento.Source.Model
oSubForm = ocmdSaida.Parent
otxtEntrada = oSubForm.getByName( "Entrada" )
otxtSaida = oSubForm.getByName( "Saida" )
'Alertar quando o campo entrada estiver vazio'
If otxtEntrada.BoundField.String = "" then
MsgBox "Antes de prosseguir, efetue a 'entrada'.", 16
Exit Sub
End If
oTxtSaida.BoundField.Value = Time
'Desabilitar o botão saída'
ocmdSaida.Enabled = False
End Sub
Espero ter ajudado.
Atte,