MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Exportar para word

    avatar
    PCAMARAL
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 16/02/2012

    [Resolvido]Exportar para word Empty Exportar para word

    Mensagem  PCAMARAL 23/8/2012, 12:49

    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



    Anexos
    [Resolvido]Exportar para word Attachment000073.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (16 Kb) Baixado 26 vez(es)
    avatar
    PCAMARAL
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 16/02/2012

    [Resolvido]Exportar para word Empty Re: [Resolvido]Exportar para word

    Mensagem  PCAMARAL 18/9/2012, 12:51

    alguém pra me ajudar??

    grato
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Exportar para word Empty Re: [Resolvido]Exportar para word

    Mensagem  criquio 18/9/2012, 13:28

    Não vi como está a estrutura do seu aplicativo, mas o princípio seria você criar um Recordset para os dados a serem repetidos, utilizando como filtro o ID master e depois utilizar um Do While para fazer um loop nos registros do segundo Recordset que satisfaça ao filtro que tem como base o ID do primeiro Recordset. Algo como:

    Código:
    Dim rsCli As Recordset, rsPend As Recordset

    Set rsCli = CurrentDb.OpenRecordst("SELECT * FROM tblClientes WHERE Código=" & Me.Código & "")
    Set rsPend = CurrentDb.OpenRecordst("SELECT * FROM tblPendencias WHERE CodCliente=" & Me.Código & "")
    ...
    ...
    ...
    Do While Not rsPend.EOF
        NomeVariavel = rsPend!Campo1 & rsPend!Campo2 & vBcRlF
        rsPend.MoveNext
    Loop
    ...
    Algo assim. Veja se consegue adaptar.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Exportar para word Empty Re: [Resolvido]Exportar para word

    Mensagem  criquio 2/10/2012, 01:04

    E aí amigo, como está o andamento da questão? Conseguiu resolver?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    PCAMARAL
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 16/02/2012

    [Resolvido]Exportar para word Empty Re: [Resolvido]Exportar para word

    Mensagem  PCAMARAL 3/10/2012, 15:51

    Criquio, finalizei ontem, ficou perfeito. Só mais uma dúvida, tem como abrir automaticamento o arquivo salvo após a finalização?

    Abs

    Paulo
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5077
    Registrado : 20/04/2011

    [Resolvido]Exportar para word Empty Re: [Resolvido]Exportar para word

    Mensagem  Silvio 3/10/2012, 16:10

    Bom dia para todos, me perdoem a intromissão.

    Mas PCAmaral, que tal postar essa solução para nós ? Seria ótimo para aprendizado e aperfeiçoamento dos membros aqui do fórum.

    Grato.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Exportar para word Empty Re: [Resolvido]Exportar para word

    Mensagem  criquio 3/10/2012, 16:49

    Para abrir o documento, tente passar o .Visible para True e desabilite as seguintes linhas, colocando o sinal de comentário no início delas conforme coloco abaixo:

    '.ActiveDocument.Close

    'DocWord.Quit


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    [Resolvido]Exportar para word Empty Re: [Resolvido]Exportar para word

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/5/2024, 07:50