You need to have MicroSoft Scripting Runtime in your project references.
Set dsDataStream = New ADODB.Stream
With dsDataStream
.Type = adTypeBinary
.Open
.LoadFromFile strDocumentName
End With
' Insert details of the new version into a recordset
' Assume that it has an image field named Document
With rsDocumentRecord
.AddNew
strDocumentContent = dsDataStream.Read
.Fields("Document"

.AppendChunk strDocumentContent
dsDataStream.Close
End With
Set dsDataStream = Nothing
You can split the document into chunks of, say 4k, if you are concerned about memory usage but I have used the above as is on a 10Mb document without any problems.
Incidentally, I have not succeeded in passing the document content as a parameter to SQL Server.