Olá bom dia! Estou com um problema que é o seguinte tenho este código que serve para enviar os dados do meu form e subform para o word:
O que acontece é que ele está pegando todos os registros porém um em cima do outro na mesma linha, exemplo o proprietário Leonardo tem o imóvel Cód 1 Rua A Nº1 apto. 1; Cód 2 Rua B Nº1 apto. 1; Cód 3 Rua C Nº1 apto. 1
na hora que sai no word onde está os índices correspondente na seguinte ordem, Cód,Endereço,N e Complemento ele sai assim: 123RuaAAA1apto111 um em cima do outro ou seja, tipo no índice código ele junta todos os códigos que tem no registro respectivo do proprietário no Endereço a mesma coisa etc..
Como possa fazer para que ele saia organizado tipo da seguinte forma:
Cód - Endereço, N e Complemento
1 - Rua A, Nº 1 apto 1
2 - Rua A, Nº 1 apto 1
3 - Rua A, Nº 1 apto 1
ou pelo menos assim: 1 - Rua A, Nº 1 apto 1; 2 - Rua A, Nº 1 apto 1; 3 - Rua A, Nº 1 apto 1
E assim por diante... como faço para ajustar essa formatação dai, imagino que tenha que ter algo antes do Loop ou entre ou até mesmo no Word não sei enfim, Agradeço a quem puder ajudar !
Abraço a todos !
- Código:
Dim DocWord As Object
Dim db As Database, rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT CodImovel,CodProprietario,Endereco,N,Complemento FROM DetalhamentoCadastroImóveis WHERE CodProprietario=" & Me.CódProprietario & "")
'Inicia o MS Word
Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word
With oApp
'Torna o MS Word visível
Visible = True
'Torna o MS Word visível
Visible = True
'Abre o documento base
.Documents.Open (CurrentProject.path & "\Contrato de Administração.doc")
'Move cada campo para o indicador definido no documento
.ActiveDocument.Bookmarks("Proprietario").Select
.Selection.Text = Proprietario
If Not IsNull(Me.RGLocad) Then
.ActiveDocument.Bookmarks("RGLocad").Select
.Selection.Text = Trim(CStr(Format(Me.RGLocad, "00\.000\.0000\-0")))
Else
.ActiveDocument.Bookmarks("RGLocad").Select
.Selection.Text = ""
End If
.ActiveDocument.Bookmarks("CPFLocad").Select
.Selection.Text = Trim(CStr(Format(CPFLocad, "000\.000\.000\-00")))
.ActiveDocument.Bookmarks("NacionalidadeLocad").Select
.Selection.Text = NacionalidadeLocad
.ActiveDocument.Bookmarks("Prazo").Select
.Selection.Text = Prazo
.ActiveDocument.Bookmarks("PrazoExtenso").Select
.Selection.Text = PrazoExtenso
If Me.RegimedeCasamento = "Universal" Then
.ActiveDocument.Bookmarks("EstadoCivilLocad").Select
.Selection.Text = ""
Else
.ActiveDocument.Bookmarks("EstadoCivilLocad").Select
.Selection.Text = EstadoCívilLocad
End If
.ActiveDocument.Bookmarks("NaturalidadeLocad").Select
.Selection.Text = NaturalidadeLocad
.ActiveDocument.Bookmarks("UFLocad").Select
.Selection.Text = UFLocad
.ActiveDocument.Bookmarks("ProfissãoLocad").Select
.Selection.Text = ProfissãoLocad
If Not IsNull(Me.Texto) Then
.ActiveDocument.Bookmarks("Texto").Select
.Selection.Text = Texto
Else
.ActiveDocument.Bookmarks("Texto").Select
.Selection.Text = ""
End If
.ActiveDocument.Bookmarks("xx").Select
.Selection.Text = PercentualComissão
.ActiveDocument.Bookmarks("Extenso").Select
.Selection.Text = PercentualExtenso
.ActiveDocument.Bookmarks("DataContratoExtenso").Select
.Selection.Text = DataContratoExtenso
'rs.MoveFirst
Do While Not rs.EOF
'Move cada campo para o indicador definido no documento ref ao subformulário
.ActiveDocument.Bookmarks("Cod").Select
.Selection.Text = Trim(CStr(rs!CodImovel))
.ActiveDocument.Bookmarks("Endereço").Select
.Selection.Text = Trim(CStr(rs!Endereco))
.ActiveDocument.Bookmarks("N").Select
.Selection.Text = Trim(CStr(rs!N))
If Not IsNull(Complemento) Then
.ActiveDocument.Bookmarks("Complemento").Select
.Selection.Text = Trim(CStr(rs!Complemento))
Else
.Selection.Text = ""
End If
rs.MoveNext
Loop
'Salva o arquivo gerado
.ActiveDocument.SaveAs ("C:\Users\Usuário\Desktop\Projeto Programa\Imóveis\ContratosGerados") & "\" & "ContratodeAdministração_Nº " & Replace(Me.Código, "/", "-") & ".doc"
MsgBox "Contrato de Administração gerado com sucesso...", vbInformation
'Fecha o documento
.ActiveDocument.Close
'Fecha o Word
oApp.Quit
rs.Close
db.Close
Set oApp = Nothing
Set rs = Nothing
Set db = Nothing
End With
End Sub
O que acontece é que ele está pegando todos os registros porém um em cima do outro na mesma linha, exemplo o proprietário Leonardo tem o imóvel Cód 1 Rua A Nº1 apto. 1; Cód 2 Rua B Nº1 apto. 1; Cód 3 Rua C Nº1 apto. 1
na hora que sai no word onde está os índices correspondente na seguinte ordem, Cód,Endereço,N e Complemento ele sai assim: 123RuaAAA1apto111 um em cima do outro ou seja, tipo no índice código ele junta todos os códigos que tem no registro respectivo do proprietário no Endereço a mesma coisa etc..
Como possa fazer para que ele saia organizado tipo da seguinte forma:
Cód - Endereço, N e Complemento
1 - Rua A, Nº 1 apto 1
2 - Rua A, Nº 1 apto 1
3 - Rua A, Nº 1 apto 1
ou pelo menos assim: 1 - Rua A, Nº 1 apto 1; 2 - Rua A, Nº 1 apto 1; 3 - Rua A, Nº 1 apto 1
E assim por diante... como faço para ajustar essa formatação dai, imagino que tenha que ter algo antes do Loop ou entre ou até mesmo no Word não sei enfim, Agradeço a quem puder ajudar !
Abraço a todos !