Microsoft
Software
Hardware
Network
Question : UPDATING BINARY FIELD data with MS-ACCESS using VBA
I am editing an existing MS-ACCESS database which incudes one field of type BINARY(400). I am able to READ the data from the database byte by byte. But I am getting SYNTAX errors when trying to UPDATE the field using DoCmd.RunSQL within VBA.
What is the best way to WRITE to an ACCESS BINARY field from VBA?
Any help or sample code would be appreciated.
Answer : UPDATING BINARY FIELD data with MS-ACCESS using VBA
You are creating a recordset with that code. I thought of using a recordset but did not know how to handle binary in a recordset. Your code shows that. To write to a recordset, you use an append statement, set the field, then use a refresh statement:
QueryBinary1.Append
For TagNumber = 0 To 399
QueryBinary1!FFolderInfoAr
ray(TagNum
ber) = RawTag(TagNumber)
Next TagNumber
QueryBinary1.Refresh
So, my guess:
Dim RawTag(400) As Byte
Dim WordInserted As Boolean
WordInserted = False
Set cnn1 = CurrentProject.Connection
With QueryBinary1
.ActiveConnection = cnn1
.Open "[SingleRecordBinaryField]
"
.MoveFirst
Do
For TagNumber = 0 To 399
RawTag(TagNumber) = !FFolderInfoArray(TagNumbe
r)
Next TagNumber
.Append
!FFolderInfoArray(0) = YourFirstByte
!FFolderInfoArray(1) = YourSecondByte
!FFolderInfoArray(2) = YourThirdByte
!FFolderInfoArray(3) = YourForthByte
For TagNumber = 4 To 399 Step 4
If !FFolderInfoArray(TagNumbe
r) = 0 AND !FFolderInfoArray(TagNumbe
r+1) = 0 AND _
!FFolderInfoArray(TagNumbe
r+2) = 0 AND !FFolderInfoArray(TagNumbe
r+3) = 0 AND WordInserted = False Then
!FFolderInfoArray(TagNumbe
r) = First inserted byte
!FFolderInfoArray(TagNumbe
r+1) = First inserted byte
!FFolderInfoArray(TagNumbe
r+2) = First inserted byte
!FFolderInfoArray(TagNumbe
r+3) = First inserted byte
Else
!FFolderInfoArray(TagNumbe
r) = RawTag(TagNumber)
!FFolderInfoArray(TagNumbe
r+1) = RawTag(TagNumber+1)
!FFolderInfoArray(TagNumbe
r+2) = RawTag(TagNumber+2)
!FFolderInfoArray(TagNumbe
r+3) = RawTag(TagNumber+3)
End If
Next TagNumber
.Refresh
.MoveNext
Loop Until .EOF
End With
Random Solutions
How to seperate parts of a line using FOR and FINDSTR
SSIS: Insert New, Update existing -- how?
bypass key in msaccess
Access 2007 Adp Terminal Server Memory Bloat
Subtotaling Group Calculated Fields
Microsoft, Access, 2007, Call sub without return
Display image
Using a geometry type check constrint in sql sever 2008
Internal LAN to External Ping
Microsoft, Access, 2000 How to Calculate an aproximation of the Distance between two zip codes using a query to Google Maps