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

    VBA Extrair imagens OLEObject de um MDB

    Alyson
    Alyson
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 48
    Registrado : 19/06/2016

    VBA Extrair imagens OLEObject de um MDB Empty VBA Extrair imagens OLEObject de um MDB

    Mensagem  Alyson 9/12/2021, 15:07

    Bom dia a todos.
    Estou com um problema muito específico e não estou conseguindo solucioná-lo.
    Tenho um arquivo MDB com controle funcionários e nele existe um campo "FOTO" porém a empresa aonde trabalho não está permitindo o uso do access (depois que migramos para office 2013).
    Por esse motivo hoje quero usar o Excel no VBA para abrir conexão com o MDB e extrair as fotos que estão em formato OLEObject e depois mostrar elas no vba do excel.

    Código de conexão
    Código:

    'Criado por Alyson Ronnan Martins
    'Data: 2021/11/12
    'Utilizar a referência: Microsoft ActiveX Data Objects 6.1 Library
    Public db As ADODB.Connection
    Public rs As ADODB.Recordset

    Public Sub cConnectOpen()
    Set db = New ADODB.Connection


    With db
        .ConnectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};" & _
                            "ReadOnly=1;" & _
                            "DBQ=" & ThisWorkbook.Path & "\CCF-INFO.mdb;" & _
                            "DefaultDir=" & ThisWorkbook.Path '& _
                            "Uid=Admin;Pwd=;"
        .Open
    End With

    'Exemplo de fazer consulta
    'Set rs = db.Execute("SELECT * FROM tblLeituraPonte")
    'rs.Close: Set rs = Nothing

    End Sub

    Public Sub cConnectClose()
    On Error Resume Next
    db.Close
    Set db = Nothing
    End Sub


    Código para abrir os dados no formulário:
    Código:

    Public Sub cFormFuncOpen()
    Set rs = New ADODB.Recordset
    sq = "SELECT * FROM [Funcionários] WHERE [Desligado] = False AND [Matricula] = 22000749 ORDER BY [Matricula] ASC"
    'sq = "SELECT * FROM [Funcionários] WHERE [Desligado] = False ORDER BY [Matricula] ASC"
    'sq = "SELECT Matricula, Desligado, Foto FROM [Funcionários] WHERE [Desligado] = False AND [Matricula] = 22000749 ORDER BY [Matricula] ASC"

    rs.Open sq, db, adOpenDynamic, adLockReadOnly

    End Sub

    Código mais próximo de extrair os dados:
    Código:
    Public Sub s()
    Dim iStream As ADODB.Stream

    cConnectOpen
    cFormFuncOpen

    Set iStream = New ADODB.Stream

    Dim str As String

    'OLEObject


    Debug.Print str
    iStream.Type = adTypeBinary
    iStream.Open
    iStream.Write rs("Foto").Value
    iStream.SaveToFile "c:\Aincrad\Teste.bmp", adSaveCreateOverWrite



    End Sub

    Obs.: Pesquisei muito e até agora não consegui encontrar algo.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    VBA Extrair imagens OLEObject de um MDB Empty Re: VBA Extrair imagens OLEObject de um MDB

    Mensagem  Marcelo David 9/12/2021, 17:23

    Tópico movido, por se tratar de Excel (manipulação do VBA no Excel) e não de Access.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    VBA Extrair imagens OLEObject de um MDB Marcel11

      Data/hora atual: 11/5/2024, 12:12