hallo zusammen, ich habe folgendes thema: wir scannen am handy seriennummern und bilder ein, diese werden über eine app an den sql-server gesendet, und dort mithilfe eines triggers die bilddaten in binärdaten umgewandelt.
nun möchte ich gerne das bild aus diesen binärdaten auslesen und im formular anzeigen, weiß aber überhaupt nicht wie das geht ?!
hättet Ihr da einen tipp für mich
danke im voraus u lg mike
Hallo,
warum in binäre Daten wandeln?
Du kannst normale Bilddateien (jpg o. ä.) einem Bildsteuerelement zuweisen und anzeigen.
hallo klaus, weil die bilddaten als binäre daten am sql abgelegt werden (über die app)
https://www.tec-it.com/de/software/mobile-data-acquisition/scan-it-to-office/faq/Default.aspx#111668
Hallo,
da muss ich passen, da kann ich mangels Erfahrung nichts dazu sagen.
Aber da kommt bestimmt noch einer vorbei der Dir da helfen kann.
ich vermute mal das die binären daten einem abbild der bilddatei entsprechen. im einfachsten fall die binärdaten auf die platte schreiben und die datei einem bildcontrol zuweisen. solange es sich um ein bild handelt ist es glaub ich egal welche extension die datei hat, acc ermittelt das ggf aus der magic number. alternativ ohne umweg über die platte, die binäedaten in ein bytearray und dieses dem bildcontrol zuweisen.
hallo daolix, hättest du vl ein paar vba zeilen wie das am besten zu lösen wäre ?
wäre dir sehr dankbar
hääte jemand noch einen tipp für mich ? wäre mir wirklich geholfen
Hallo,
ich weiß nicht ob man die Binärdaten direkt einbinden kann, aber zumindest mit Zwischenspeichern als Datei sollte es funktionieren.
Ich gehe davon aus, dass die SQL-Tabelle mit Access verknüpft ist.
Dann musst du das Feld in ein Recordset bringen und dann auf Platte schreiben. Das Einbinden dieser gespeicherten Bilddatei kann dann problemlos in einem ungebundenen Formularfeld erfolgen.
UNGETESTETDim rs As DAO.Recordset
Dim lSize As Long, oDatNum As Integer, arrBin() As Byte
Dim sFileName As String
sFileName = Environ("TEMP") & "\bild.jpg"
Set rs = CurrentDb.OpenRecordset("DeineSQLServerTabelle", dbOpenDynaset)
rs.FindFirst "<eine Suchbedining um das den Datensatz zu finden>"
If rs.NoMatch Then
MsgBox "nicht gefunden"
Else
lSize = rs.Fields("ImageBinary").FieldSize
ReDim arrBin(lSize - 1)
arrBin = rs.Fields("ImageBinary").GetChunk(0, lSize)
oDatNum = FreeFile()
Open sFileName & sFileName For Binary As oDatNum
Put #oDatNum, , arrBin
Close oDatNum
End If
rs.Close
' testen
FollowHyperlink sFileName
Ein weitere Variante wäre das direkte Einbinden des Bytestreams (ImageBase64) in ein Webbrowsersteuerelemnet.