Prezados boa tarde,
Tenho um sistema criado em Access, cuja a função de um dos módulos é gerar PDF à partir de um relatório.
Abaixo segue a linha de código:
Private Sub Btn_Gera_Pdf_Click()
Dim db As Database
Dim rs As DAO.Recordset
Dim strsql As String, strstartdate As Date, strEndDate As Date
Set db = CurrentDb
strstartdate = [Forms]![Formulário_Resumo_vendas]![Text_Data_Ini].Value
strEndDate = [Forms]![Formulário_Resumo_vendas]![Text_Data_Fim].Value
strsql = "SELECT * "
strsql = strsql & " FROM Tab_CadastroFaturas WHERE datapagamento BETWEEN #" & Format(strstartdate, "mm/dd/yyyy") & "# AND #" & Format(strEndDate, "mm/dd/yyyy") & "#"
Set rs = CurrentDb.OpenRecordset(strsql, dbOpenDynaset)
Do While Not rs.EOF
DoCmd.OpenReport "Rlt_Resumo_Pagamentos", acViewPreview, , "CodPrestador=" & rs!CodPrestador, acHidden
DoCmd.OutputTo acOutputReport, "Rlt_Resumo_Pagamentos", acFormatPDF, "Z:\02.Contas_a_Pagar\PDF gerado\PDF" & rs!CodPrestador & ".pdf", False, "", 0, acExportQualityPrint
DoCmd.Close acReport, "Rlt_Resumo_Pagamentos"
rs.edit
rs!Data_PDF = Date
rs.Update
rs.MoveNext
Loop
'Dim rs As Recordset
'Set rs = CurrentDb.OpenRecordset("Cns_Resumo_Pagamentos")
MsgBox "Os registros foram exportados para PDF", vbInformation, "Concluído"
rs.Close
Set rs = Nothing
'Dim rs As Recordset
'Set rs = CurrentDb.OpenRecordset("Cns_Resumo_Pagamentos")
End Sub
Meu problema está nesta linha: DoCmd.OpenReport "Rlt_Resumo_Pagamentos", acViewPreview, , "CodPrestador=" & rs!CodPrestador, acHidden
As informações contidas em "CodPrestador" eram do tipo número, mas tive que alterar esta coluna para Texto Curto. Desde que essa mudança ocorreu, a rotina apresenta a informação "O microsoft Access encontrou um problema ao tentar alternar modos de exibição e deve fechar esta janela" - Ao depurar tenho o erro 3071.
Imagino que seja algo simples, mas já quebrei a cabeça e não consegui ajustar o código para que funcione.
Ficarei muito grato com a orientação de vocês.
Abs
Tenho um sistema criado em Access, cuja a função de um dos módulos é gerar PDF à partir de um relatório.
Abaixo segue a linha de código:
Private Sub Btn_Gera_Pdf_Click()
Dim db As Database
Dim rs As DAO.Recordset
Dim strsql As String, strstartdate As Date, strEndDate As Date
Set db = CurrentDb
strstartdate = [Forms]![Formulário_Resumo_vendas]![Text_Data_Ini].Value
strEndDate = [Forms]![Formulário_Resumo_vendas]![Text_Data_Fim].Value
strsql = "SELECT * "
strsql = strsql & " FROM Tab_CadastroFaturas WHERE datapagamento BETWEEN #" & Format(strstartdate, "mm/dd/yyyy") & "# AND #" & Format(strEndDate, "mm/dd/yyyy") & "#"
Set rs = CurrentDb.OpenRecordset(strsql, dbOpenDynaset)
Do While Not rs.EOF
DoCmd.OpenReport "Rlt_Resumo_Pagamentos", acViewPreview, , "CodPrestador=" & rs!CodPrestador, acHidden
DoCmd.OutputTo acOutputReport, "Rlt_Resumo_Pagamentos", acFormatPDF, "Z:\02.Contas_a_Pagar\PDF gerado\PDF" & rs!CodPrestador & ".pdf", False, "", 0, acExportQualityPrint
DoCmd.Close acReport, "Rlt_Resumo_Pagamentos"
rs.edit
rs!Data_PDF = Date
rs.Update
rs.MoveNext
Loop
'Dim rs As Recordset
'Set rs = CurrentDb.OpenRecordset("Cns_Resumo_Pagamentos")
MsgBox "Os registros foram exportados para PDF", vbInformation, "Concluído"
rs.Close
Set rs = Nothing
'Dim rs As Recordset
'Set rs = CurrentDb.OpenRecordset("Cns_Resumo_Pagamentos")
End Sub
Meu problema está nesta linha: DoCmd.OpenReport "Rlt_Resumo_Pagamentos", acViewPreview, , "CodPrestador=" & rs!CodPrestador, acHidden
As informações contidas em "CodPrestador" eram do tipo número, mas tive que alterar esta coluna para Texto Curto. Desde que essa mudança ocorreu, a rotina apresenta a informação "O microsoft Access encontrou um problema ao tentar alternar modos de exibição e deve fechar esta janela" - Ao depurar tenho o erro 3071.
Imagino que seja algo simples, mas já quebrei a cabeça e não consegui ajustar o código para que funcione.
Ficarei muito grato com a orientação de vocês.
Abs