# VBA Acces OLE-Objekt Smartdraw



## bics (9. Juli 2003)

Hallo

ich habe folgendes Problem
Ich habe eine Tablle in Access mit Ole-Objekten, genauer gesagt Smartdraw-Files

ich suche nach einer möglichkeit diese Objekte in Files zu speichern


----------



## Thomas Darimont (10. Juli 2003)

Servus!

Schau dir dashier mal an:


```
Function BinExport(tabelle As String, PfadDatei As String, BinaryFeld As String, IDNr As Long)

' Ein OLE-Object eines Tabellenfeldes in eine Datei exportieren

'Autor: Günther Ritter  www.ostfrieslandweb.de

' tabelle    = Tabellenname
' PfadDatei  = Dateiname incl. Pfad
' BinaryFeld = Name des OLE-Object Feldes
' IDNr       = ID-Nummer des Datensatzes der Tabelle

'Achtung, absolute Feldnamen: ID

'Aufbau der Tabelle tblPicture:
'-----------------------------
'ID         - Autowert
'BytesAnz   - Zahl / Long Integer
'DateiName  - Memo
'Kurztext   - Text 100
'LangText   - Memo
'Picture    - OLE-Object

Dim DB As DATABASE, rs As Recordset, I As Long, Nr As Long, BinaryData() As Byte

Set DB = CurrentDb
Set rs = DB.OpenRecordset("select " & BinaryFeld & " from " & tabelle & " where id=" & IDNr)

Nr = FreeFile

  Open PfadDatei For Binary As #Nr
  
    rs.MoveFirst
  
    ReDim BinaryData(rs(BinaryFeld).FieldSize)
     
    BinaryData() = rs(BinaryFeld).GetChunk(0, rs(BinaryFeld).FieldSize)
    Put #Nr, , BinaryData()
    
  Close #Nr
   
  Erase BinaryData
   
  rs.Close
  DB.Close
  Set rs = Nothing
  Set DB = Nothing

End Function
```

Gruss Tom


----------



## bics (10. Juli 2003)

hallo und danke erstmal
.. funktioniert super .. an und für sich .. das problem ist nur dass in einem ole-objekt nicht nur die daten des files sind wie ich jetzt bemerkt habe .. 
anscheinend werden auch zusatzinformationen gespeichert ...
weil wenn ich das file nun öffnen will bekomme ich die fehlermeldung dass es sich nicht um ein SmartDraw - File handelt

weiss jemand wass ich da wegschneiden muss?


----------



## bics (11. Juli 2003)

so .. jetzt hab ich das irgendwie hingebogen .. zwar nicht schön .. aber was solls .. 
aber wie krieg ich mein File jetzt wieder in das Ole-objektfeld.
bzw .. was muss ich da als sourceitem angeben?

kennt sich wer mit dem aus?


----------

