Olá a todos. ** Uso Access 2003
Após buscas neste Fórum achei um tópico semelhante (Imprmir registro atual de um subform) ao que estou precisando que foi aberto pelo colega Lupe, o qual recebeu a ajuda do nosso colega Criquio; tentei ajustar para meu caso, mas não funcionou como esperado. Abaixo segue o código original sugerido: DoCmd.OpenReport "NomeDoRelatório", acNormal, , "Código=" & Forms!frmVenda!subfrmVenda.Form!CodVenda
** Adiante tem o código completo usado por mim.
O que preciso é que imprima o Registro Atual de um SubFormulário (modo contínuo) mostrado em tela que por sua vez está vinculado a um Formulário Principal através de uma Página em um Controle Guia, onde existe um vínculo de um-para-vários da Tabela do Formulário Principal para a Tabela do SubFormulário. Na 1ª Tabela tem um Campo Autonumeração: CodRAdm; na 2ª Tabela tem um Campo tipo Número: IDCodRAdm que faz o vínculo um-para-vários no Relacionamento já mencionado; nessa 2ª Tabela existe também um Campo de Autonumeração: CodDistribuicao, que por sua vez pode ter vários registros à medida em que o registro principal for movimentado.
Criei um Botão para imprimir (com visualização prévia) diretamente do SubFormulário o Registro atual mostrado em tela (OBS: que normalmente é impresso quando da sua inclusão, mas que também pode ser reimpresso a qualquer momento),no entanto, ao clicar aparece o Relatório sem os dados correspondentes a este registro, que por sua vez é baseado em uma Consulta: C07_RegAdm(ImprimeDespacho), onde nesta tem as 2 Tabelas acima citadas com seu Relacionamento e os campos que selecionei para o dito Relatório.
Para melhor entendimento segue abaixo o código completo do botão para impressão:
Private Sub ImprimeDespacho_Click()
'CAMPOS OBRIGATÓRIOS: ANTES DE IMPRIMIR O REGISTRO
Me.Refresh
If IsNull(IDOrigemUsuario) Or IsEmpty(IDOrigemUsuario) Then
MsgBox "ORIGEM: Falta Digitar o NOME DO REMETENTE!", , "Sistema: Validação de Campo"
Me.IDOrigemUsuario.SetFocus
ElseIf IsNull(IDOrigemSetor) Or IsEmpty(IDOrigemSetor) Then
MsgBox "ORIGEM: Falta Digitar o SETOR!", , "Sistema: Validação de Campo"
Me.IDOrigemSetor.SetFocus
ElseIf IsNull(IDDestinoUsuario) Or IsEmpty(IDDestinoUsuario) Then
MsgBox "DESTINO: Falta Digitar o NOME DO DESTINATÁRIO!", , "Sistema: Validação de Campo"
Me.IDDestinoUsuario.SetFocus
ElseIf IsNull([IDDestinoSetor]) Or IsEmpty([IDDestinoSetor]) Then
MsgBox "DESTINO: Falta Digitar o NOME DO SETOR", , "Sistema: Validação de Campo"
Me.IDDestinoSetor.SetFocus
Else
Me.Refresh
On Error Resume Next
DoCmd.OpenReport "R07_RegAdm(ImprimeDespacho)", acPreview, , "CodRAdm=" & Forms!F07_RegAdministrativo!F08_RegAdmXDistribuicoes.Form!CodDistribuicao
Exit_ImprimeDespacho_Click:
Exit Sub
Err_ImprimeDespacho_Click:
MsgBox Err.Description
Resume Exit_ImprimeDespacho_Click
End If
End Sub
Após buscas neste Fórum achei um tópico semelhante (Imprmir registro atual de um subform) ao que estou precisando que foi aberto pelo colega Lupe, o qual recebeu a ajuda do nosso colega Criquio; tentei ajustar para meu caso, mas não funcionou como esperado. Abaixo segue o código original sugerido: DoCmd.OpenReport "NomeDoRelatório", acNormal, , "Código=" & Forms!frmVenda!subfrmVenda.Form!CodVenda
** Adiante tem o código completo usado por mim.
O que preciso é que imprima o Registro Atual de um SubFormulário (modo contínuo) mostrado em tela que por sua vez está vinculado a um Formulário Principal através de uma Página em um Controle Guia, onde existe um vínculo de um-para-vários da Tabela do Formulário Principal para a Tabela do SubFormulário. Na 1ª Tabela tem um Campo Autonumeração: CodRAdm; na 2ª Tabela tem um Campo tipo Número: IDCodRAdm que faz o vínculo um-para-vários no Relacionamento já mencionado; nessa 2ª Tabela existe também um Campo de Autonumeração: CodDistribuicao, que por sua vez pode ter vários registros à medida em que o registro principal for movimentado.
Criei um Botão para imprimir (com visualização prévia) diretamente do SubFormulário o Registro atual mostrado em tela (OBS: que normalmente é impresso quando da sua inclusão, mas que também pode ser reimpresso a qualquer momento),no entanto, ao clicar aparece o Relatório sem os dados correspondentes a este registro, que por sua vez é baseado em uma Consulta: C07_RegAdm(ImprimeDespacho), onde nesta tem as 2 Tabelas acima citadas com seu Relacionamento e os campos que selecionei para o dito Relatório.
Para melhor entendimento segue abaixo o código completo do botão para impressão:
Private Sub ImprimeDespacho_Click()
'CAMPOS OBRIGATÓRIOS: ANTES DE IMPRIMIR O REGISTRO
Me.Refresh
If IsNull(IDOrigemUsuario) Or IsEmpty(IDOrigemUsuario) Then
MsgBox "ORIGEM: Falta Digitar o NOME DO REMETENTE!", , "Sistema: Validação de Campo"
Me.IDOrigemUsuario.SetFocus
ElseIf IsNull(IDOrigemSetor) Or IsEmpty(IDOrigemSetor) Then
MsgBox "ORIGEM: Falta Digitar o SETOR!", , "Sistema: Validação de Campo"
Me.IDOrigemSetor.SetFocus
ElseIf IsNull(IDDestinoUsuario) Or IsEmpty(IDDestinoUsuario) Then
MsgBox "DESTINO: Falta Digitar o NOME DO DESTINATÁRIO!", , "Sistema: Validação de Campo"
Me.IDDestinoUsuario.SetFocus
ElseIf IsNull([IDDestinoSetor]) Or IsEmpty([IDDestinoSetor]) Then
MsgBox "DESTINO: Falta Digitar o NOME DO SETOR", , "Sistema: Validação de Campo"
Me.IDDestinoSetor.SetFocus
Else
Me.Refresh
On Error Resume Next
DoCmd.OpenReport "R07_RegAdm(ImprimeDespacho)", acPreview, , "CodRAdm=" & Forms!F07_RegAdministrativo!F08_RegAdmXDistribuicoes.Form!CodDistribuicao
Exit_ImprimeDespacho_Click:
Exit Sub
Err_ImprimeDespacho_Click:
MsgBox Err.Description
Resume Exit_ImprimeDespacho_Click
End If
End Sub