Dicas do OsmarJr

Imprimindo Apenas o Registro Mostrado no Formulário


Como imprimir apenas o registro apresentado no formulário?

Crie o relatório e deixe-o pronto para a impressão. Use o valor chave primária que identifica unicamente o registro no formulário e abra o relatório com apenas aquele registro.

Os passos

Abra seu formulário no modo Design.

  1. Se a Caixa de Ferramentas não está visível, abra-a usando o menu Exibir.
  2. Clique em Botão de comando na caixa de ferramentas e clique no formulário, onde deseja colocar o botão.
  3. Se o assistente iniciar, cancele-o. Ele não dá a flexibilidade necessária para seu problema.
  4. Clique com o botão direito no botão criado e selecione Propriedades. O Access abre a caixa de propriedades.
  5. Na aba Outra, na linha Nome, dê um nome ao botão, como btnImprimir.
  6. Na aba Formato, na linha Título, coloque o texto que deseja que apareça no botão, ou Figura se desejar apresentar o ícone de uma impressora ou de preview.
  7. Na aba Eventos, set the On Click property to: [Event Procedure]
  8. Click the Build button (...) beside this. Access opens the code window.
  9. Paste the code below into the procedure. Replace ID with the name of your primary key field, and MyReport with the name of your report.
The code
Private Sub cmdPrint_Click()
    Dim strWhere As String

    If Me.Dirty Then    'Save any edits.
        Me.Dirty = False
    End If

    If Me.NewRecord Then 'Check there is a record to print
        MsgBox "Select a record to print"
    Else
        strWhere = "[ID] = " & Me.[ID]
        DoCmd.OpenReport "MyReport", acViewPreview, , strWhere
    End If
End Sub
Notes
  1. If your primary key is a Text type field (not a Number type field), you need extra quotes:
       strWhere = "[ID] = """ & Me.[ID] & """"
  2. The report will not filter correctly if it is already open.
  3. If you want the report to print without preview, replace acViewPreview with acViewNormal.

Contato | Copyright©Osmar José Correia Júnior | 17-Oct-2005 11:34