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]clicar no botão do formulário - exportar os dados da tela - atualizando o excel.

    avatar
    carmelito
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 30
    Registrado : 12/08/2011

    [Resolvido]clicar no botão do formulário - exportar os dados da tela - atualizando o excel. Empty [Resolvido]clicar no botão do formulário - exportar os dados da tela - atualizando o excel.

    Mensagem  carmelito 14/5/2022, 01:35

    Boa tarde! amigos!
    Eu preciso de uma ajuda:
    access 2016

    tabela com vários registros.
    formulário que visualiza um registro por vez...

    Ao visualizar um determinado registro, ao clicar no botão exportar dados, os dados da tela do formulário é exportado para a planilha de excel.

    A planilha de excel é sempre a mesma, os dados seriam exportados um abaixo do outro, toda vez que clicasse no botão exportar excel ou seja não iria criar uma nova planilha, não é para deletar os dados existentes, simplesmente vai atualizar o excel.

    Exemplo:
    existem 10 registros no banco de dados...
    dia 1: eu seleciono o registro 5, e clico exportar excel, os dados do formulário vão para segunda linha do excel. Obs. Não precisa abrir o excel, a rotina pode ser toda oculta.
    dia 2: eu seleciono o registro 2 do formulário e clico exportar excel, os dados do formulário vão para a terceira linha do excel, mantendo os dados do dia 1.
    dia 3: eu seleciono o registro 7 do formulário e clico exportar excel, os dados do formulário vão para a quarta linha do excel, mantendo os dados do dia 2.
    Assim sucessivamente....

    Eu peguei o exemplo do Mestre JPaulo:
    'By JPaulo ® Maximo Access
    Dim rst As DAO.Recordset, strSQL As String, strLivro As String, xls As Object
    Set xls = CreateObject("Excel.Application")
    strLivro = "C:\Users\Carmelito\Downloads\teste\Pasta1.xls"
    'strLivro = CurrentProject.path & "\CARGOS.xls"'cópia SE FOSSE NECESSÁRIO SALVAR DENTRO DA MESMA PASTA DO SISTEMA.
    xls.Workbooks.Open (strLivro)
    xls.Visible = False
    xls.Worksheets("DADOS").Activate
    strSQL = "SELECT * From consulta1"
    Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
    xls.ActiveSheet.Range("A2:N2000").Select
    xls.selection.ClearContents
    xls.ActiveSheet.Range("A2").Select
    xls.ActiveCell.CopyFromRecordset rst
    xls.ActiveWorkbook.Save
    xls.Application.Quit
     Set xls = Nothing

    Mas, sem sucesso.
    Inclusive, zipei o arquivo access 2016, para facilitar o auxilio, ou indicar uma página semelhante ao que foi narrado acima... eu procurei... mas ainda não achei....
    Muito obrigadoooo.
    Anexos
    [Resolvido]clicar no botão do formulário - exportar os dados da tela - atualizando o excel. AttachmentDatabase1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (71 Kb) Baixado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8111
    Registrado : 05/11/2009

    [Resolvido]clicar no botão do formulário - exportar os dados da tela - atualizando o excel. Empty Re: [Resolvido]clicar no botão do formulário - exportar os dados da tela - atualizando o excel.

    Mensagem  Alexandre Neves 14/5/2022, 12:18

    Bom dia
    Melhore a nomenclatura de objectos do Acess, existe abordagens aqui no fórum sobre normalização
    Use este código
    Código:
    Private Sub Comando10_Click()
        'By JPaulo ® Maximo Access
        'adaptado por Alexandre Neves do fórum MaximoAccess
        Dim I As Integer, strLivro As String, xlsx As Object
        Set xlsx = CreateObject("Excel.Application")
        strLivro = CurrentProject.Path & "\Pasta1.xls"
        xlsx.Workbooks.Open (strLivro)
        xlsx.Visible = False
        xlsx.Worksheets("dados").Activate
        I = 0
        Do
            I = I + 1
            If Len("" & xlsx.Worksheets("dados").range("A" & I)) = 0 Then
                xlsx.Worksheets("dados").range("A" & I) = Me.id
                xlsx.Worksheets("dados").range("B" & I) = Me.nome
                xlsx.Worksheets("dados").range("C" & I) = Me.doc1
                xlsx.Worksheets("dados").range("D" & I) = Me.doc2
                MsgBox "Registo guardado com sucesso."
                Exit Do
            End If
        Loop
        xlsx.ActiveWorkbook.Save
        xlsx.Application.Quit
        Set xlsx = Nothing
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    carmelito gosta desta mensagem

    avatar
    carmelito
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 30
    Registrado : 12/08/2011

    [Resolvido]clicar no botão do formulário - exportar os dados da tela - atualizando o excel. Empty Re: [Resolvido]clicar no botão do formulário - exportar os dados da tela - atualizando o excel.

    Mensagem  carmelito 14/5/2022, 17:35

    Excelente!!! Viva. Muito obrigadooo.
    Eu vou estudar a normalização.
    Valeu.

      Data/hora atual: 18/5/2022, 23:02