Prezados,
Utilizei o código do JPaulo abaixo:
Private Function ValidaCamposNulos() As Boolean 'Cria a função ValidaCamposNulos
'By JPaulo ® Maximo Access
ValidaCamposNulos = True 'Condição verdadeira
Dim ctl As Control 'Cria ctl como um controle
Dim strName As String 'Cria strName como uma string
For Each ctl In Me.Controls 'Para cada ctl na condição de controle na lista de controles (campos)
If IsNull(ctl) Then 'Se for nulo então
strName = ctl.Controls(0).Caption 'str será igual ao controle nulo
ValidaCamposNulos = False 'Função ValidaCamposNulos é falsa
MsgBox "Preencha o Campo " & Chr(34) & strName, vbCritical 'Exibe a mensagem para o primeiro campo nulo
ctl.SetFocus 'Seta o foco no campo nulo
Exit Function 'Sai da função
End If 'Termina verificação
Next ctl 'Verifica o próximo campo
End Function 'Fim da função
No botão:
Private Sub Salvar_Click()
'By JPaulo ® Maximo Access
If ValidaCamposNulos = False Then 'Se a validação for falsa então chama o valida campos
Cancel = True 'Cancela a gravação do registro
Else 'Caso contrário
DoCmd.OpenQuery "cst_gera_anomalia"
DoCmd.OpenQuery "cst_apagar_entrada_anomalia"
DoCmd.OpenForm "frm_gera_ordem", acNormal, "", "", , acNormal
Beep
MsgBox "Anomalia salva com sucesso!", vbInformation, "Cadastro de Anomalia"
DoCmd.Close , ""
DoCmd.Close acForm, "frm_sub_cadastro_anomalia"
End If
End Sub
Só que em meu formulário eu desenvolvi uma caixa de combinação, onde que, ao selecionar determinados tipos de dados, os campos que não são necessários para aquela iformação, são desativados conforme abaixo:
Private Sub Anomalia1_AfterUpdate()
Select Case Me.Anomalia1.Value
Case "Cancelamento de Serviço"
Me.Origem.Enabled = False
Me.Empresa.Enabled = False
Me.Setor.Enabled = False
Me.Descricao_Sucinta.Visible = True
Me.Repetitiva.Visible = True
Me.Categoria.Visible = True
Me.Data_Ocorrencia.Visible = True
Me.Ponto_Eletrico.Visible = True
Me.Responsavel_Pela_Identificacao.Visible = True
Me.Alimentador.Visible = True
Me.Hora_Desarme.Visible = False
Me.Hora_Normalizacao.Visible = False
Me.Numero_SDS.Visible = True
Me.Placa_Viatura.Visible = False
Me.Nome_do_Colaborador.Visible = False
Me.Responsavel_Pela_Tratativa.Visible = True
Me.Tempo_Atraso.Visible = False
Me.Status.Visible = True
Me.Turno.Visible = False
Me.Conjunto.Visible = False
Me.Projeto_OT_OS.Visible = True
Me.Tipo_Atividade.Visible = True
Me.Notificacao_da_Anomalia.Visible = True
Me.Observacoes.Visible = True
Me.Base.Visible = True
Me.Impacto_da_Anomalia.Visible = True
Me.Tratativa_de_Anomalia.Visible = True
Me.Codigo_do_Material.Visible = False
Me.Qual_Tipo_Equipamento.Visible = False
Me.Data_da_Solicitação.Visible = False
Case "Viatura Parada"
Me.Origem.Enabled = False
Me.Empresa.Enabled = False
Me.Setor.Enabled = False
Me.Descricao_Sucinta.Visible = True
Me.Repetitiva.Visible = True
Me.Categoria.Visible = True
Me.Data_Ocorrencia.Visible = True
Me.Ponto_Eletrico.Visible = False
Me.Responsavel_Pela_Identificacao.Visible = True
Me.Alimentador.Visible = False
Me.Hora_Desarme.Visible = False
Me.Hora_Normalizacao.Visible = False
Me.Numero_SDS.Visible = False
Me.Placa_Viatura.Visible = True
Me.Nome_do_Colaborador.Visible = False
Me.Responsavel_Pela_Tratativa.Visible = True
Me.Tempo_Atraso.Visible = False
Me.Status.Visible = True
Me.Turno.Visible = False
Me.Conjunto.Visible = False
Me.Projeto_OT_OS.Visible = False
Me.Tipo_Atividade.Visible = True
Me.Notificacao_da_Anomalia.Visible = True
Me.Observacoes.Visible = True
Me.Base.Visible = True
Me.Impacto_da_Anomalia.Visible = True
Me.Tratativa_de_Anomalia.Visible = True
Me.Codigo_do_Material.Visible = False
Me.Qual_Tipo_Equipamento.Visible = False
Me.Data_da_Solicitação.Visible = False
...
End Select
End Sub
Só que o código desenvolvido pelo JPaulo continua reconhecendo as caixas desabilitadas. O que eu posso fazer?
Desde já, muito obrigado!
Utilizei o código do JPaulo abaixo:
Private Function ValidaCamposNulos() As Boolean 'Cria a função ValidaCamposNulos
'By JPaulo ® Maximo Access
ValidaCamposNulos = True 'Condição verdadeira
Dim ctl As Control 'Cria ctl como um controle
Dim strName As String 'Cria strName como uma string
For Each ctl In Me.Controls 'Para cada ctl na condição de controle na lista de controles (campos)
If IsNull(ctl) Then 'Se for nulo então
strName = ctl.Controls(0).Caption 'str será igual ao controle nulo
ValidaCamposNulos = False 'Função ValidaCamposNulos é falsa
MsgBox "Preencha o Campo " & Chr(34) & strName, vbCritical 'Exibe a mensagem para o primeiro campo nulo
ctl.SetFocus 'Seta o foco no campo nulo
Exit Function 'Sai da função
End If 'Termina verificação
Next ctl 'Verifica o próximo campo
End Function 'Fim da função
No botão:
Private Sub Salvar_Click()
'By JPaulo ® Maximo Access
If ValidaCamposNulos = False Then 'Se a validação for falsa então chama o valida campos
Cancel = True 'Cancela a gravação do registro
Else 'Caso contrário
DoCmd.OpenQuery "cst_gera_anomalia"
DoCmd.OpenQuery "cst_apagar_entrada_anomalia"
DoCmd.OpenForm "frm_gera_ordem", acNormal, "", "", , acNormal
Beep
MsgBox "Anomalia salva com sucesso!", vbInformation, "Cadastro de Anomalia"
DoCmd.Close , ""
DoCmd.Close acForm, "frm_sub_cadastro_anomalia"
End If
End Sub
Só que em meu formulário eu desenvolvi uma caixa de combinação, onde que, ao selecionar determinados tipos de dados, os campos que não são necessários para aquela iformação, são desativados conforme abaixo:
Private Sub Anomalia1_AfterUpdate()
Select Case Me.Anomalia1.Value
Case "Cancelamento de Serviço"
Me.Origem.Enabled = False
Me.Empresa.Enabled = False
Me.Setor.Enabled = False
Me.Descricao_Sucinta.Visible = True
Me.Repetitiva.Visible = True
Me.Categoria.Visible = True
Me.Data_Ocorrencia.Visible = True
Me.Ponto_Eletrico.Visible = True
Me.Responsavel_Pela_Identificacao.Visible = True
Me.Alimentador.Visible = True
Me.Hora_Desarme.Visible = False
Me.Hora_Normalizacao.Visible = False
Me.Numero_SDS.Visible = True
Me.Placa_Viatura.Visible = False
Me.Nome_do_Colaborador.Visible = False
Me.Responsavel_Pela_Tratativa.Visible = True
Me.Tempo_Atraso.Visible = False
Me.Status.Visible = True
Me.Turno.Visible = False
Me.Conjunto.Visible = False
Me.Projeto_OT_OS.Visible = True
Me.Tipo_Atividade.Visible = True
Me.Notificacao_da_Anomalia.Visible = True
Me.Observacoes.Visible = True
Me.Base.Visible = True
Me.Impacto_da_Anomalia.Visible = True
Me.Tratativa_de_Anomalia.Visible = True
Me.Codigo_do_Material.Visible = False
Me.Qual_Tipo_Equipamento.Visible = False
Me.Data_da_Solicitação.Visible = False
Case "Viatura Parada"
Me.Origem.Enabled = False
Me.Empresa.Enabled = False
Me.Setor.Enabled = False
Me.Descricao_Sucinta.Visible = True
Me.Repetitiva.Visible = True
Me.Categoria.Visible = True
Me.Data_Ocorrencia.Visible = True
Me.Ponto_Eletrico.Visible = False
Me.Responsavel_Pela_Identificacao.Visible = True
Me.Alimentador.Visible = False
Me.Hora_Desarme.Visible = False
Me.Hora_Normalizacao.Visible = False
Me.Numero_SDS.Visible = False
Me.Placa_Viatura.Visible = True
Me.Nome_do_Colaborador.Visible = False
Me.Responsavel_Pela_Tratativa.Visible = True
Me.Tempo_Atraso.Visible = False
Me.Status.Visible = True
Me.Turno.Visible = False
Me.Conjunto.Visible = False
Me.Projeto_OT_OS.Visible = False
Me.Tipo_Atividade.Visible = True
Me.Notificacao_da_Anomalia.Visible = True
Me.Observacoes.Visible = True
Me.Base.Visible = True
Me.Impacto_da_Anomalia.Visible = True
Me.Tratativa_de_Anomalia.Visible = True
Me.Codigo_do_Material.Visible = False
Me.Qual_Tipo_Equipamento.Visible = False
Me.Data_da_Solicitação.Visible = False
...
End Select
End Sub
Só que o código desenvolvido pelo JPaulo continua reconhecendo as caixas desabilitadas. O que eu posso fazer?
Desde já, muito obrigado!