Bom dia.
Estou tentando implementar uma forma onde, ao terminar de preencher o formulário de cadastro e clicar no botão "salvar" o relatório será aberto para que posso imprimí-lo.
Hoje, realizo o cadastro depois clico no menu relatório informo os filtros e clico em "abrir".
Minha intenção é manter as duas maneiras de imprimir o relatório.
No botão Salvar, utilizo este código:
Para abrir o Relatório, além da consulta com critérios utilizo este código:
Estou tentando implementar uma forma onde, ao terminar de preencher o formulário de cadastro e clicar no botão "salvar" o relatório será aberto para que posso imprimí-lo.
Hoje, realizo o cadastro depois clico no menu relatório informo os filtros e clico em "abrir".
Minha intenção é manter as duas maneiras de imprimir o relatório.
No botão Salvar, utilizo este código:
- Código:
Private Sub cmdSalvar_Click()
On Error GoTo trata_erro
'-- Variavel que define o indice do comando
iCmd = 2
If iCmd = 0 Then Exit Sub
'-- Grava os dados
Call fncSalvar
DoCmd.RunCommand acCmdSaveRecord
'-- Atualiza o registro
DoCmd.RunCommand acCmdRefresh
'-- Exibe mensagem ao usuário
MsgBox "Registro gravado com sucesso.", vbInformation, "Mensagem"
'-- Habilita lista
Me.cboConsulta.Enabled = True
'-- Habilita botoes de comando conform indice do botão (iCmd)
HabilitarComandos
'-- Desabilita consulta
Me.TxtData.Enabled = True
Me.cboConsulta.Enabled = True
'-- Trava campos para segurança
TravarCampos
Me.PgId.SetFocus
'-- Define indice de comando para 0
iCmd = 0
Exit Sub
'-- Limpa campos
LimparCampos
'-- Limpas as tabelas temporárias
LimpaTemporario
'-- tratamento de erro, quando houver
trata_erro:
MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro!!!"
Exit Sub
End Sub
Para abrir o Relatório, além da consulta com critérios utilizo este código:
- Código:
Private Function fncRelDiarias()
Dim stDocName As String
Dim accobj As AccessObject
On Error GoTo Err_fncRelDiarias
stDocName = "RelAutoriz"
'This function closes the report if the report is open and then re-opens the report.
Set accobj = Application.CurrentProject.AllReports.Item(stDocName)
If accobj.IsLoaded Then
If accobj.CurrentView = acCurViewPreview Then
DoCmd.Close acReport, stDocName
DoCmd.OpenReport stDocName, acPreview
End If
Else
DoCmd.OpenReport stDocName, acPreview
End If
Exit_fncRelDiarias:
Exit Function
Err_fncRelDiarias:
MsgBox Err.Description
Resume Exit_fncRelDiarias
End Function