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


2 participantes

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    avatar
    wilflx2
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  wilflx2 9/8/2019, 18:35

    Caro mestres, venho solicitar mais uma vez auxilio.

    Tenho um banco de dados "Pedidos de Compras", nele os setores fazem solicitação de cotação e compras de materiais.
    A solicitação somente fica no programa para controlar o que foi pedido, gerando assim um relatório com os itens necessários, feito isso vai para Cotação que é feita em uma planilha do Excel.
    O que eu gostaria é de ao clicar em um botão, se abra a planilha de cotação no Excel e envie alguns dados do pedido do Acces, tais como, Nº do pedido, "Data do Pedido", Setor, e Usuário. Gostaria que já ficassem em um determinado local na tabela do Excel, existe essa possibilidade?
    avatar
    brunoluizmaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 133
    Registrado : 24/04/2019

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  brunoluizmaia 12/8/2019, 09:01

    Bom dia,

    Você quer gerar um novo arquivo por cotação ou deseja ir atualizando um arquivo?

    Se for gerar um novo arquivo, faça uma consulta ou relatório e exporte ela para o excel. Tem vários exemplos no fórum.

    Caso a intenção for atualizar um arquivo, eu utilizo a programação abaixo que foi também retirada do Fórum.

    Código:
    Public Function Export_Excel1()
    'By JPaulo ® Maximo Access
    Dim rst1 As DAO.Recordset, strSQL1 As String, rst2 As DAO.Recordset, strSQL2 As String, strLivro As String, strConexão As String, xls As Object
    Dim Col As Integer
    Set xls = CreateObject("Excel.Application")

    strLivro = CurrentProject.path & "\" & "mapadeferias.xlsm"
    strConexão = "Data Source=" & strLivro & ";" & _
    "HDR = yes;Format = xlsm"
    'xls.Workbooks.Add


    xls.visible = True
    xls.Worksheets("Textura").Activate
    strSQL1 = "SELECT DB_Plane_Tex.num_molde, DB_Plane_Tex.hr_orcadas, DB_Plane_Tex.dias_orc, DB_Plane_Tex.dt_entrada, DB_Plane_Tex.dt_conclusao FROM DB_Plane_Tex WHERE (((DB_Plane_Tex.dt_conclusao) Is Null));"
    Set rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'alterado por Alexandre Neves (MaximoAccess) incluir títulos de colunas
    For Col = 12 To rst1.Fields.Count - 1
     xls.Worksheets("Textura").Cells(4, Col + 1).Value = rst1.Fields(Col).Name
    Next
    xls.ActiveSheet.Range("M5").Select
    xls.ActiveCell.CopyFromRecordset rst1
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    xls.Worksheets("Polimento").Activate
    strSQL2 = "SELECT DB_Plane_pol.num_molde, DB_Plane_pol.hr_orcadas, DB_Plane_pol.dt_entrada, DB_Plane_pol.dias_orc, DB_Plane_pol.dt_conclusao FROM DB_Plane_pol WHERE (((DB_Plane_pol.dt_conclusao) Is Null));"
    Set rst2 = CurrentDb.OpenRecordset(strSQL2, dbOpenDynaset)
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'alterado por Alexandre Neves (MaximoAccess) incluir títulos de colunas
    For Col = 12 To rst2.Fields.Count - 1
     xls.Worksheets("Polimento").Cells(4, Col + 1).Value = rst2.Fields(Col).Name
    Next
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    xls.ActiveSheet.Range("M5").Select
    xls.ActiveCell.CopyFromRecordset rst2
    DoCmd.SetWarnings False
    'xls.ActiveWorkbook.Save FileName:=strLivro
    DoCmd.SetWarnings True
    'xls.Application.Quit
    Set xls = Nothing
    Set rst1 = Nothing
    Set rst2 = Nothing

    End Function

    Código:
    Private Sub Form_Open(Cancel As Integer)

        SysCmd acSysCmdSetStatus, "Start Export data for Excel..."
        Call Export_Excel1
        SysCmd acSysCmdClearStatus


    Espero ter ajudado, bons estudos!

    Bruno Nunes
    avatar
    wilflx2
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  wilflx2 12/8/2019, 21:09


    Olá brunoluizmaia, agradeço de antemão sua atenção e ajuda.

    Acredito que seja isso mesmo, no caso quero alimentar uma planilha já criada.

    Você tem algum BD como exemplo? dessa forma consigo estudar melhor o código, tenho um conhecimento médio de Access.

    Obrigado!
    avatar
    brunoluizmaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 133
    Registrado : 24/04/2019

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  brunoluizmaia 13/8/2019, 08:55

    avatar
    wilflx2
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  wilflx2 23/8/2019, 15:01


    brunoluizmaia obrigado pela ajuda, é bem isso mesmo, fiz os teste e consegui adaptar ao meu banco, porem, ele cria uma nova tabela, eu gostaria de editar uma já criada. Sabe me dizer como?
    Fiz alguns testes e não consegui adaptar.


    avatar
    brunoluizmaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 133
    Registrado : 24/04/2019

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  brunoluizmaia 23/8/2019, 15:12

    Tem que manter a linha abaixo fora do código, porque ela cria uma nova planilha.

    xls.Workbooks.Add
    avatar
    wilflx2
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  wilflx2 23/8/2019, 15:24

    Entendi, e como direciono para a planilha que quero editar?
    avatar
    brunoluizmaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 133
    Registrado : 24/04/2019

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  brunoluizmaia 23/8/2019, 15:53

    Abaixo os códigos explicados.


    strLivro = CurrentProject.path & "\" & "mapadeferias.xlsm" - Caminho da tua planilha
    strConexão = "Data Source=" & strLivro & ";" & "HDR = yes;Format = xlsm" - Conexão com o excel



    xls.visible = True - Ativa a visualização do excel
    xls.Worksheets("Textura").Activate - Ativa a aba da planilha
    strSQL1 = "SELECT DB_Plane_Tex.num_molde, DB_Plane_Tex.hr_orcadas, DB_Plane_Tex.dias_orc, DB_Plane_Tex.dt_entrada, DB_Plane_Tex.dt_conclusao FROM DB_Plane_Tex WHERE (((DB_Plane_Tex.dt_conclusao) Is Null));" - Dados que quer copiar
    Set rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset) - Faz a gravação
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'alterado por Alexandre Neves (MaximoAccess) incluir títulos de colunas
    For Col = 12 To rst1.Fields.Count - 1
    xls.Worksheets("Textura").Cells(4, Col + 1).Value = rst1.Fields(Col).Name
    Next
    xls.ActiveSheet.Range("M5").Select - Seleciona a célula para cópia dos dados
    xls.ActiveCell.CopyFromRecordset rst1 - faz a cópia para o excel
    avatar
    wilflx2
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  wilflx2 27/8/2019, 15:44


    brunoluizmaia, consegui adaptar, deu certinho! Muito obrigado!
    avatar
    brunoluizmaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 133
    Registrado : 24/04/2019

    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  brunoluizmaia 27/8/2019, 15:56

    Que bom ter ajudado, o fórum já me ajudou muito. É um prazer ajudar aqui.


    Conteúdo patrocinado


    [Resolvido]Enviar dados de um campo do Access para tabela no Excel Empty Re: [Resolvido]Enviar dados de um campo do Access para tabela no Excel

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 15:51