Prezados,
Sou novo aqui no fórum, estou com uma dúvida. Utilizo o ACCESS 2013. Criei um formulário onde preencho três campos: Data Inicial, Data Final e Tipo de Atualização (aqui tenho uma lista com três opções). Criei um botão e nele inseri um procedimento que, de acordo com a seleção do Tipo de Atualização, o sistema executa um tipo de consulta, as datas são as mesmas para as três consultas. O procedimento funciona da maneira que eu quero, porém o que está acontecendo é que, após a execução de qualquer uma das consultas, eu só consigo executar uma outra se eu compactar e reparar o banco. Segue abaixo o código que estou utilizando:
Private Sub Cmd_Atualizar_Graf_Lin_Click()
If IsNull(DtInicGrafLin) Or IsNull(DtFinGrafLin) Or IsNull(Cmb_Tipo_Atua) Then
MsgBox "Informe a data inicial e final e o tipo de atualização."
Me.DtInicGrafLin.SetFocus
Else
If IsNull(DtInicial_Agenda) And IsNull(DtFinal_Agenda) Then
Me.DtInicial_Agenda = Me.DtInicGrafLin
Me.DtFinal_Agenda = Me.DtFinGrafLin
Me.Dt_Ini_ASO = Me.DtInicGrafLin
Me.Dt_Fim_ASO = Me.DtFinGrafLin
If Me.Cmb_Tipo_Atua = "Total de agendamentos" Then
DoCmd.OpenQuery "D_GERA_TOTAL_AGENDAMENTOS"
Else
If Me.Cmb_Tipo_Atua = "Agendamentos por Empresa" Then
DoCmd.OpenQuery "D_GERA_TOTAL_AGENDAMENTOS_empresas"
Else
If Me.Cmb_Tipo_Atua = "Agendamentos Nacional" Then
DoCmd.OpenQuery "D_GERA_TOTAL_AGENDAMENTOS_NACIONAL"
End If
End If
End If
End If
End If
End Sub
Criei um botão para limpar os campos preenchidos na tentativa que pudesse funcionar, mas também não deu certo:
Private Sub Cmd_Novo_Click()
Me.Dt_Ini_ASO = ""
Me.Dt_Fim_ASO = ""
Me.DtInicGrafLin = ""
Me.DtFinGrafLin = ""
Me.Cmb_Tipo_Atua = ""
End Sub
Também utilizei esse link, aqui do fórum para tentar criar um botão para compactar e reparar o banco, e nada: https://www.maximoaccess.com/t3873-resolvidocompactar-banco-de-dados
Criei um módulo e utilizei esse código:
Public Function CompactDb()
On Error Resume Next
CommandBars. _
FindControl(ID:=2071). _
accDoDefaultAction
End Function
E no botão chamei a função abaixo:
'Call CompactDb
Também tentei esse commando, mas nada.
Dim ws As Object
Set ws = CreateObject("WScript.shell")
ws.SendKeys "%AGO"
Set ws = Nothing
End Sub
Alguém tem alguma ideia do que pode estar ocorrendo? Ou teriam um comando para compactar e reparar o banco nessa versão do ACCESS.
PS: Desculpe pelo post extenso.
Sou novo aqui no fórum, estou com uma dúvida. Utilizo o ACCESS 2013. Criei um formulário onde preencho três campos: Data Inicial, Data Final e Tipo de Atualização (aqui tenho uma lista com três opções). Criei um botão e nele inseri um procedimento que, de acordo com a seleção do Tipo de Atualização, o sistema executa um tipo de consulta, as datas são as mesmas para as três consultas. O procedimento funciona da maneira que eu quero, porém o que está acontecendo é que, após a execução de qualquer uma das consultas, eu só consigo executar uma outra se eu compactar e reparar o banco. Segue abaixo o código que estou utilizando:
Private Sub Cmd_Atualizar_Graf_Lin_Click()
If IsNull(DtInicGrafLin) Or IsNull(DtFinGrafLin) Or IsNull(Cmb_Tipo_Atua) Then
MsgBox "Informe a data inicial e final e o tipo de atualização."
Me.DtInicGrafLin.SetFocus
Else
If IsNull(DtInicial_Agenda) And IsNull(DtFinal_Agenda) Then
Me.DtInicial_Agenda = Me.DtInicGrafLin
Me.DtFinal_Agenda = Me.DtFinGrafLin
Me.Dt_Ini_ASO = Me.DtInicGrafLin
Me.Dt_Fim_ASO = Me.DtFinGrafLin
If Me.Cmb_Tipo_Atua = "Total de agendamentos" Then
DoCmd.OpenQuery "D_GERA_TOTAL_AGENDAMENTOS"
Else
If Me.Cmb_Tipo_Atua = "Agendamentos por Empresa" Then
DoCmd.OpenQuery "D_GERA_TOTAL_AGENDAMENTOS_empresas"
Else
If Me.Cmb_Tipo_Atua = "Agendamentos Nacional" Then
DoCmd.OpenQuery "D_GERA_TOTAL_AGENDAMENTOS_NACIONAL"
End If
End If
End If
End If
End If
End Sub
Criei um botão para limpar os campos preenchidos na tentativa que pudesse funcionar, mas também não deu certo:
Private Sub Cmd_Novo_Click()
Me.Dt_Ini_ASO = ""
Me.Dt_Fim_ASO = ""
Me.DtInicGrafLin = ""
Me.DtFinGrafLin = ""
Me.Cmb_Tipo_Atua = ""
End Sub
Também utilizei esse link, aqui do fórum para tentar criar um botão para compactar e reparar o banco, e nada: https://www.maximoaccess.com/t3873-resolvidocompactar-banco-de-dados
Criei um módulo e utilizei esse código:
Public Function CompactDb()
On Error Resume Next
CommandBars. _
FindControl(ID:=2071). _
accDoDefaultAction
End Function
E no botão chamei a função abaixo:
'Call CompactDb
Também tentei esse commando, mas nada.
Dim ws As Object
Set ws = CreateObject("WScript.shell")
ws.SendKeys "%AGO"
Set ws = Nothing
End Sub
Alguém tem alguma ideia do que pode estar ocorrendo? Ou teriam um comando para compactar e reparar o banco nessa versão do ACCESS.
PS: Desculpe pelo post extenso.