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

    Importar ficheiro como anexo para a tabela com VBA

    Leomartes
    Leomartes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 36
    Registrado : 31/12/2014

    Importar ficheiro como anexo para a tabela com VBA Empty Importar ficheiro como anexo para a tabela com VBA

    Mensagem  Leomartes 24/5/2020, 16:50

    Olá pessoal.

    Pesquisei muito e não encontrei o que eu queria, alem disso alguns tópicos que li e que poderiam ajudar estão com os links dos exemplos quebrados.

    Vamos ao que interessa!

    Quero simplesmente anexar alguns arquivos em um campo do tipo anexo usando VBA.

    Já li e vi a recomendação dos mestres, que não é legal anexar arquivos direto no DB para que ele não fique pesado, entendi sobre isso, mas insisto em aprender fazer isso.

    Entã vamos lá...
    Tenho um formulário (não está vinculado à tabela e pretendo mante-lo assim) que já me dá o caminho dos arquivos desejados, agora falta simplesmente anexar esses arquivos na minha tabela usando o VBA.

    Alguém pode me ajudar.


    Última edição por Leomartes em 27/5/2020, 13:03, editado 1 vez(es)


    .................................................................................
    Att, Leomartes
    -------------------------------------------------------------------------------------------------------------------------------------------------
    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    Importar ficheiro como anexo para a tabela com VBA Empty Re: Importar ficheiro como anexo para a tabela com VBA

    Mensagem  Alvaro Teixeira 25/5/2020, 16:25

    Leomartes
    Leomartes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 36
    Registrado : 31/12/2014

    Importar ficheiro como anexo para a tabela com VBA Empty Re: Importar ficheiro como anexo para a tabela com VBA

    Mensagem  Leomartes 26/5/2020, 13:19

    ah teixeira

    já tinha visto alguns dessas postagens antes, somente esse segundo link que foi novidade pra mim. Infelizmente não consegui compreender, acho que a conversa na postagem foi muito avançada pra mim.

    Vou deixar em anexo o que já tenho desenvolvido, nele já usei algumas soluções disponibilizada pelo mestre Avelino. Não consigo gravar o arquivo selecionado no formulário como anexo na tabela .
    Anexos
    Importar ficheiro como anexo para a tabela com VBA AttachmentAnexo via vba.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (39 Kb) Baixado 21 vez(es)


    .................................................................................
    Att, Leomartes
    -------------------------------------------------------------------------------------------------------------------------------------------------
    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    Importar ficheiro como anexo para a tabela com VBA Empty Re: Importar ficheiro como anexo para a tabela com VBA

    Mensagem  Alvaro Teixeira 27/5/2020, 16:45

    Olá Leomar,

    Ainda não tive oportunidade para exemplificar, no entanto se tiver com tempo, veja link abaixo:
    sourcedaddy.com/ms-access/working-with-attachment-fields.html

    Abraço
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    Importar ficheiro como anexo para a tabela com VBA Empty Re: Importar ficheiro como anexo para a tabela com VBA

    Mensagem  Alvaro Teixeira 22/6/2020, 12:28

    Olá Leomar,

    Hoje arranjei um tempinho e fiz exemplo para mostrar o "caminho das pedras".
    Está a pedir para escolher o ficheiro e adiciona à tabela, exemplo simples (apenas para um ficheiro por registo), veja o código usado:
    Código:
    Private Sub cmdAdicionar_Click()
    'Álvaro Teixeira (ahteixeira) 2020 para MaximoAccess
    'Requer fncSelecionaFicheiro() para escoher ficheiro
        On Error GoTo Err_Adicionar
        Dim sFicheiro As String

        sFicheiro = fncSelecionaFicheiro()

        If Len(sFicheiro) & "" = 0 Then Exit Sub
      
        Dim db As DAO.Database
        Dim rsParent As DAO.Recordset2
        Dim rsChild As DAO.Recordset2
        
        Set db = CurrentDb
        Set rsParent = Me.Recordset
        
        rsParent.Edit
        
        Set rsChild = rsParent.Fields("AnexoCarro").Value
        
        rsChild.AddNew
        rsChild.Fields("FileData").LoadFromFile (sFicheiro)
        
        rsChild.Update
        rsParent.Update
        
    Exit_Adicionar:
        
        Set rsChild = Nothing
        Set rsParent = Nothing
        Exit Sub
        
    Err_Adicionar:
        
        If Err = 3820 Then
            MsgBox "Já existe o ficheiro.", vbInformation, ""
            Resume Next
        Else
            MsgBox Err.Number & " - " & Err.Description, vbCritical, ""
            Resume Exit_Adicionar
        End If
    End Sub


    Function fncSelecionaFicheiro() As String
    'Álvaro Teixeira (ahteixeira) 2020 para MaximoAccess
    'Requer referencia a Microsoft Office xx.0 Object Library
        On Error GoTo PROC_ERR
        
        Dim fd As FileDialog
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
        
        fd.Title = "Selecione o ficheiro"
        fd.InitialFileName = CurrentProject.Path
        fd.Filters.Add "Todos os ficheiros", "*.*", 1

        fd.Show
        
        If (fd.SelectedItems.Count > 0) Then
            fncSelecionaFicheiro = fd.SelectedItems(1)
        Else
            MsgBox "Não foi escolhido nenhum ficheiro.", vbInformation, ""
        End If
        
    PROC_EXIT:
        Exit Function
        
    PROC_ERR:
        DoCmd.Hourglass False
        If Err.Number = 3011 Then
           MsgBox "Ficheiro inválido.", vbInformation, ""
        Else
            MsgBox Err.Number & "-" & Err.Description, vbCritical, ""
        End If
        Resume PROC_EXIT
    End Function


    Para adicionar mais que um ficheiro ver links das mensagens anteriores e ajustar.

    Abraço
    Anexos
    Importar ficheiro como anexo para a tabela com VBA AttachmentAdicionarAnexoVBA.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 38 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    Importar ficheiro como anexo para a tabela com VBA Empty Re: Importar ficheiro como anexo para a tabela com VBA

    Mensagem  Alvaro Teixeira 18/9/2020, 13:31

    Olá Leomar

    Como ficou a situação?
    Aguardamoa o retorno.

    Abraço

    Conteúdo patrocinado


    Importar ficheiro como anexo para a tabela com VBA Empty Re: Importar ficheiro como anexo para a tabela com VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 10:32