locked
Gravar campo de foto (OLE) pelo vba RRS feed

  • Pergunta

  • Olá pessoal, Bom Dia!

     
    Pessoal estou com um problema aqui, vejam so:
    Tenho um campo num formulário que recebe uma foto e estou precisando gravar essa foto num campo OLE da tabela:
     
    Observem o que fiz:
     
    1 - Criei um dataset referenciando a tabela normalmente.
    2 - Mandei gravar no dataset como segue:
       dst!campo = campodafoto.object
     
    Quando essa linha é executada ocorre um erro dizendo que o componente não suporta automação. Já tentei utilizar outras propriedades mas nada sempre ocorre um erro.
     
    Na verdade tudo que preciso é pegar a foto do campo e colocá-la no dataset para ai sim atualizá-lo.
     
    Alguem sabe como fazer, por favor?
     
    Agradeço!
    segunda-feira, 3 de dezembro de 2007 11:44

Respostas

  • Como eu imaginei, você está usando um Recordset, não Dataset.

     

    Veja se assim resolve:

     

    rec.Fields("Foto").AppendChunk Me.Foto

     

    quinta-feira, 6 de dezembro de 2007 00:53
    Moderador

Todas as Respostas

  • Olá,

     

    você usou Dataset no VBA?

     

    Poderia colocar o código completo?

    quarta-feira, 5 de dezembro de 2007 03:43
    Moderador
  • Olá Luiz Bom Dia, Obrigado pela resposta!

     

    Respondendo sua pergunta: sim eu usei um Dataset.

    Veja abaixo:

     

    ...

    Dim rec As Recordset
    Set rec = New Recordset

     

    rec.Open "Recursos", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    rec.AddNew
                        
    rec!Recurso = Nome.Value
    rec!Status = Status.Value
    rec!Empresa = Empresa.Value

    ...

    rec!Foto = Foto.Value  ' Aqui está o problema. isso não funciona e ja tentei com todas as outras propriedades possíveis.

     

    rec.Update

    ...

     

    O controle Foto em questão é um Object Frame eu consigo inserir uma foto nele normalmente (Insert Object) e que não estou conseguindo retirar a Foto dele e gravar na tabela.

     

    Agradeço!

    quarta-feira, 5 de dezembro de 2007 10:33
  • Como eu imaginei, você está usando um Recordset, não Dataset.

     

    Veja se assim resolve:

     

    rec.Fields("Foto").AppendChunk Me.Foto

     

    quinta-feira, 6 de dezembro de 2007 00:53
    Moderador
  • Olá Luiz, Bom Dia!

     

    Meu caro muito obrigado pela ajuda funcionou perfeitamente.

    Não percebi em sua pergunta a palavra Dataset. De fato nunca utilizei um Dataset no access apenas Recordset.

     

    Espero poder contar com sua ajuda outras vezes ... vou precisar (não tenho prática com o access/vba)

     

    Agradeço novamente!

    quinta-feira, 6 de dezembro de 2007 11:28