The Stream Object

The Stream object is used to view and manipulate text or binary data. A stream object can exist as a type of resource (such as a noncollection file) or as a buffer in memory.

Opening a Stream Object

The prototype for the Stream object is:

stream.Open [Source], _
            [Mode], _
            [OpenOptions], _
            [UserName], _
            [Password]

The Stream object can be retrieved in four ways:

  • By setting it to the default Stream property of the Record object, as seen in the last section of this chapter.

  • By passing an open Record object to the Source argument of the Stream.Open method.

  • By passing an absolute URL to the Source argument of the Stream.Open method.

  • By opening the Stream in memory; that is, by calling the Stream.Open method without a Source argument.

This chapter focuses on opening a Record object with a URL, but I will first describe the other four ways of opening a Record object.

Obtaining a Stream with the Default Stream from a Record object

The following example recaps what we saw earlier regarding the Record object returning the default string for a noncollection-type resource through the use of the Default Stream field:

rec.Open "Documents/ADO.01.DOC", "URL=http://JROFF-NTLT/"

Set stm = rec.Fields.Item(ADODB.FieldEnum.adDefaultStream).Value

MsgBox "Stream is " & stm.Size & " bytes."

rec.Close
stm.Close

In this example, we see that we can get the size of the Stream in bytes through the Stream.Size property.

Opening a Stream with an open Record object

Similarly, we can pass the opened Record ...

Get ADO: ActiveX Data Objects now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.