Bom dia amigos, necessito novamente da ajuda de vocês.
Criei um documento padrão no word para exportação de dados de múltiplas tabelas do access. Estou conseguindo gerar o documento normalmente com o código abaixo, mas não do jeito que deveria. Com o código consigo gerar o documento anexo, mas o que preciso é que, caso o cliente tenha mais de 1 devedor solidário ele repita os campos, de modo que a formatação fique conforme o seguinte:
DEVEDOR SOLIDÁRIO: José da silva
CPF/CNPJ: Cpf ou cnpj do devedor solidário
DEVEDOR SOLIDÁRIO: Francisco da silva
CPF/CNPJ: cpf ou cnpj do devedor solidário 2
E assim por diante para tantos quanto forem os devedores solidários do cliente X.
Alguma sugestão?
Grato
Private Sub btnfimborderô_Click()
Dim rsBorderô As DAO.Recordset
Dim srtSql As String
If Me.nTítulos > 0 Then
If MsgBox("Deseja realmente finalizar o borderô?", vbYesNo, "ATENÇÃO") = vbYes Then
strSql = "SELECT * FROM tblBorderôs WHERE idBorderô =" & CLng(Me!idBorderô)
Set rsBorderô = CurrentDb.OpenRecordset(strSql)
rsBorderô.Edit
rsBorderô!DtBorderô = Me!DtBorderô
rsBorderô!Tipo = Me!Tipo
rsBorderô!Cliente = Me!Cliente
rsBorderô!Dias = Me!Dias
rsBorderô!Taxa = Me!Taxa
rsBorderô!AdValorem = Me!AdValorem
rsBorderô!VlTarifa = Me!Tarifa
rsBorderô!Bruto = Me!Bruto
rsBorderô!TotDeságio = Me!TotDeságio
rsBorderô!TotTarifas = Me!TotTarifas
rsBorderô!Base = Me!Base
rsBorderô!Retenções = Me!Retenções
rsBorderô!Líquido = Me!Líquido
rsBorderô!TotalIOF = Me!TotalIOF
rsBorderô!Movimento = Me!Movimento
rsBorderô!PrazoMédio = Me!PrazoMédio
rsBorderô!QtdeTítulos = Me!nTítulos
rsBorderô!QtdeTarifas = Me!QtdeTarifas
rsBorderô.Update
rsBorderô.Close
Set rsBorderô = Nothing
If MsgBox("Deseja gerar o aditivo da operação?", vbYesNo, "Atenção") = vbYes Then
Dim rsCli As DAO.Recordset
Dim rsResp As DAO.Recordset
Set rsCli = CurrentDb.OpenRecordset("SELECT * FROM tblClientes WHERE idCliente=" & Me.idCliente)
Set rsResp = CurrentDb.OpenRecordset("SELECT * FROM tblResponsáveis WHERE idCliente=" & Me.idCliente)
Set rsBorderô = CurrentDb.OpenRecordset("SELECT * FROM tblBorderôs WHERE idBorderô=" & Me.idBorderô)
Set rsTítulosBorderô = CurrentDb.OpenRecordset("SELECT * FROM tblTítulosBorderô WHERE idBorderô=" & Me.idBorderô)
Dim DocWord As Object
Set DocWord = CreateObject("Word.Application")
With DocWord
.visible = False
.Documents.Add Template:=CurrentProject.Path & "\ADITIVO.doc", NewTemplate:=False, DocumentType:=0
'============================================================================================================
'.ActiveDocument.Bookmarks("DataHora").Select
'.Selection.Text = Format(Now, "General Date")
.ActiveDocument.Bookmarks("Número").Select
.Selection.Text = rsBorderô!idBorderô
.ActiveDocument.Bookmarks("Cliente1").Select
.Selection.Text = UCase(rsCli!RazãoSocial)
.ActiveDocument.Bookmarks("Cliente").Select
.Selection.Text = UCase(rsCli!RazãoSocial)
.ActiveDocument.Bookmarks("CódCliente").Select
.Selection.Text = rsCli!Cpf_Cnpj
.ActiveDocument.Bookmarks("Solidário").Select
.Selection.Text = UCase(rsResp!Nome)
.ActiveDocument.Bookmarks("Solidário1").Select
.Selection.Text = UCase(rsResp!Nome)
.ActiveDocument.Bookmarks("CódSolidário").Select
.Selection.Text = rsResp!Cpf_Cnpj
.ActiveDocument.Bookmarks("Bruto").Select
.Selection.Text = Format(rsBorderô!Bruto, "Currency")
.ActiveDocument.Bookmarks("Movimento").Select
.Selection.Text = Format(rsBorderô!Movimento, "Currency")
.ActiveDocument.Bookmarks("TotIOF").Select
.Selection.Text = Format(rsBorderô!TotalIOF, "Currency")
.ActiveDocument.Bookmarks("Líquido").Select
.Selection.Text = Format(rsBorderô!Líquido, "Currency")
.ActiveDocument.Bookmarks("DtBorderô").Select
.Selection.Text = Format$(rsBorderô!DtBorderô, "Long Date")
Dim vTipo As String, vNúmeroDoc As String, vVencimento As String, vValor As String, vSacado As String, vBruto As String
Do While Not rsTítulosBorderô.EOF
If vTipo = "" Then
vTipo = rsBorderô!Tipo
vNúmeroDoc = rsTítulosBorderô!Número
vVencimento = rsTítulosBorderô!Vencimento
vValor = Format(rsTítulosBorderô!Valor, "Currency")
vSacado = rsTítulosBorderô!Sacado
vBruto = Format(rsBorderô!Bruto, "Currency")
Else
vTipo = vTipo & vbCrLf & rsBorderô!Tipo
vNúmeroDoc = vNúmeroDoc & vbCrLf & rsTítulosBorderô!Número
vVencimento = vVencimento & vbCrLf & rsTítulosBorderô!Vencimento
vValor = vValor & vbCrLf & Format(rsTítulosBorderô!Valor, "Currency")
vSacado = vSacado & vbCrLf & rsTítulosBorderô!Sacado
End If
vBruto = Format(rsBorderô!Bruto, "Currency")
rsTítulosBorderô.MoveNext
Loop
.ActiveDocument.Bookmarks("Tipo").Select
.Selection.Text = vTipo
.ActiveDocument.Bookmarks("NúmeroDoc").Select
.Selection.Text = vNúmeroDoc
.ActiveDocument.Bookmarks("Vencimento").Select
.Selection.Text = vVencimento
.ActiveDocument.Bookmarks("Valor").Select
.Selection.Text = vValor
.ActiveDocument.Bookmarks("Sacado").Select
.Selection.Text = vSacado
.ActiveDocument.Bookmarks("Bruto2").Select
.Selection.Text = vBruto
'============================================================================================================
.ActiveDocument.SaveAs CurrentProject.Path & "\" & Format(Me.idBorderô, "000000") & ".doc"
rsBorderô.Close
Set rsBorderô = Nothing
rsTítulosBorderô.Close
Set rsTítulosBorderô = Nothing
rsCli.Close
Set rsCli = Nothing
rsResp.Close
Set rsResp = Nothing
.ActiveDocument.Close
End With
DocWord.Quit
Set DocWord = Nothing
DoCmd.OpenReport "relTítulosBorderô", acViewPreview
Call fncLimpaTudo
Else
DoCmd.OpenReport "relTítulosBorderô", acViewPreview
Call fncLimpaTudo
End If
Else
DoCmd.CancelEvent
End If
Else
MsgBox "Você deve incluir pelo menos um título para finalizar o borderô!!!", vbInformation, "VERIFIQUE"
Me.Número.SetFocus
End If
End Sub
Criei um documento padrão no word para exportação de dados de múltiplas tabelas do access. Estou conseguindo gerar o documento normalmente com o código abaixo, mas não do jeito que deveria. Com o código consigo gerar o documento anexo, mas o que preciso é que, caso o cliente tenha mais de 1 devedor solidário ele repita os campos, de modo que a formatação fique conforme o seguinte:
DEVEDOR SOLIDÁRIO: José da silva
CPF/CNPJ: Cpf ou cnpj do devedor solidário
DEVEDOR SOLIDÁRIO: Francisco da silva
CPF/CNPJ: cpf ou cnpj do devedor solidário 2
E assim por diante para tantos quanto forem os devedores solidários do cliente X.
Alguma sugestão?
Grato
Private Sub btnfimborderô_Click()
Dim rsBorderô As DAO.Recordset
Dim srtSql As String
If Me.nTítulos > 0 Then
If MsgBox("Deseja realmente finalizar o borderô?", vbYesNo, "ATENÇÃO") = vbYes Then
strSql = "SELECT * FROM tblBorderôs WHERE idBorderô =" & CLng(Me!idBorderô)
Set rsBorderô = CurrentDb.OpenRecordset(strSql)
rsBorderô.Edit
rsBorderô!DtBorderô = Me!DtBorderô
rsBorderô!Tipo = Me!Tipo
rsBorderô!Cliente = Me!Cliente
rsBorderô!Dias = Me!Dias
rsBorderô!Taxa = Me!Taxa
rsBorderô!AdValorem = Me!AdValorem
rsBorderô!VlTarifa = Me!Tarifa
rsBorderô!Bruto = Me!Bruto
rsBorderô!TotDeságio = Me!TotDeságio
rsBorderô!TotTarifas = Me!TotTarifas
rsBorderô!Base = Me!Base
rsBorderô!Retenções = Me!Retenções
rsBorderô!Líquido = Me!Líquido
rsBorderô!TotalIOF = Me!TotalIOF
rsBorderô!Movimento = Me!Movimento
rsBorderô!PrazoMédio = Me!PrazoMédio
rsBorderô!QtdeTítulos = Me!nTítulos
rsBorderô!QtdeTarifas = Me!QtdeTarifas
rsBorderô.Update
rsBorderô.Close
Set rsBorderô = Nothing
If MsgBox("Deseja gerar o aditivo da operação?", vbYesNo, "Atenção") = vbYes Then
Dim rsCli As DAO.Recordset
Dim rsResp As DAO.Recordset
Set rsCli = CurrentDb.OpenRecordset("SELECT * FROM tblClientes WHERE idCliente=" & Me.idCliente)
Set rsResp = CurrentDb.OpenRecordset("SELECT * FROM tblResponsáveis WHERE idCliente=" & Me.idCliente)
Set rsBorderô = CurrentDb.OpenRecordset("SELECT * FROM tblBorderôs WHERE idBorderô=" & Me.idBorderô)
Set rsTítulosBorderô = CurrentDb.OpenRecordset("SELECT * FROM tblTítulosBorderô WHERE idBorderô=" & Me.idBorderô)
Dim DocWord As Object
Set DocWord = CreateObject("Word.Application")
With DocWord
.visible = False
.Documents.Add Template:=CurrentProject.Path & "\ADITIVO.doc", NewTemplate:=False, DocumentType:=0
'============================================================================================================
'.ActiveDocument.Bookmarks("DataHora").Select
'.Selection.Text = Format(Now, "General Date")
.ActiveDocument.Bookmarks("Número").Select
.Selection.Text = rsBorderô!idBorderô
.ActiveDocument.Bookmarks("Cliente1").Select
.Selection.Text = UCase(rsCli!RazãoSocial)
.ActiveDocument.Bookmarks("Cliente").Select
.Selection.Text = UCase(rsCli!RazãoSocial)
.ActiveDocument.Bookmarks("CódCliente").Select
.Selection.Text = rsCli!Cpf_Cnpj
.ActiveDocument.Bookmarks("Solidário").Select
.Selection.Text = UCase(rsResp!Nome)
.ActiveDocument.Bookmarks("Solidário1").Select
.Selection.Text = UCase(rsResp!Nome)
.ActiveDocument.Bookmarks("CódSolidário").Select
.Selection.Text = rsResp!Cpf_Cnpj
.ActiveDocument.Bookmarks("Bruto").Select
.Selection.Text = Format(rsBorderô!Bruto, "Currency")
.ActiveDocument.Bookmarks("Movimento").Select
.Selection.Text = Format(rsBorderô!Movimento, "Currency")
.ActiveDocument.Bookmarks("TotIOF").Select
.Selection.Text = Format(rsBorderô!TotalIOF, "Currency")
.ActiveDocument.Bookmarks("Líquido").Select
.Selection.Text = Format(rsBorderô!Líquido, "Currency")
.ActiveDocument.Bookmarks("DtBorderô").Select
.Selection.Text = Format$(rsBorderô!DtBorderô, "Long Date")
Dim vTipo As String, vNúmeroDoc As String, vVencimento As String, vValor As String, vSacado As String, vBruto As String
Do While Not rsTítulosBorderô.EOF
If vTipo = "" Then
vTipo = rsBorderô!Tipo
vNúmeroDoc = rsTítulosBorderô!Número
vVencimento = rsTítulosBorderô!Vencimento
vValor = Format(rsTítulosBorderô!Valor, "Currency")
vSacado = rsTítulosBorderô!Sacado
vBruto = Format(rsBorderô!Bruto, "Currency")
Else
vTipo = vTipo & vbCrLf & rsBorderô!Tipo
vNúmeroDoc = vNúmeroDoc & vbCrLf & rsTítulosBorderô!Número
vVencimento = vVencimento & vbCrLf & rsTítulosBorderô!Vencimento
vValor = vValor & vbCrLf & Format(rsTítulosBorderô!Valor, "Currency")
vSacado = vSacado & vbCrLf & rsTítulosBorderô!Sacado
End If
vBruto = Format(rsBorderô!Bruto, "Currency")
rsTítulosBorderô.MoveNext
Loop
.ActiveDocument.Bookmarks("Tipo").Select
.Selection.Text = vTipo
.ActiveDocument.Bookmarks("NúmeroDoc").Select
.Selection.Text = vNúmeroDoc
.ActiveDocument.Bookmarks("Vencimento").Select
.Selection.Text = vVencimento
.ActiveDocument.Bookmarks("Valor").Select
.Selection.Text = vValor
.ActiveDocument.Bookmarks("Sacado").Select
.Selection.Text = vSacado
.ActiveDocument.Bookmarks("Bruto2").Select
.Selection.Text = vBruto
'============================================================================================================
.ActiveDocument.SaveAs CurrentProject.Path & "\" & Format(Me.idBorderô, "000000") & ".doc"
rsBorderô.Close
Set rsBorderô = Nothing
rsTítulosBorderô.Close
Set rsTítulosBorderô = Nothing
rsCli.Close
Set rsCli = Nothing
rsResp.Close
Set rsResp = Nothing
.ActiveDocument.Close
End With
DocWord.Quit
Set DocWord = Nothing
DoCmd.OpenReport "relTítulosBorderô", acViewPreview
Call fncLimpaTudo
Else
DoCmd.OpenReport "relTítulosBorderô", acViewPreview
Call fncLimpaTudo
End If
Else
DoCmd.CancelEvent
End If
Else
MsgBox "Você deve incluir pelo menos um título para finalizar o borderô!!!", vbInformation, "VERIFIQUE"
Me.Número.SetFocus
End If
End Sub
- Anexos
- 000073.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (16 Kb) Baixado 26 vez(es)