CopyRecord, CopyTo, and SaveToFile Methods Example (VB)


This example demonstrates how to create copies of a file using Stream or Record objects. One copy is made to a Web folder for Internet publishing. Other properties and methods shown include Stream Type, Open, LoadFromFile, and Record Open.


' This sample requires that "C:\checkmrk.wmf" and
' "http://MyServer/mywmf.wmf" exist.

Option Explicit

Private Sub Form_Load()
    On Error GoTo ErrorHandler

    ' Declare variables
    Dim strPicturePath, strStreamPath, strStream2Path, _
        strRecordPath, strStreamURL, strRecordURL As String
    Dim objStream, objStream2 As Stream
    Dim objRecord As Record
    Dim objField As Field

    ' Instantiate objects
    Set objStream = New Stream
    Set objStream2 = New Stream
    Set objRecord = New Record

    ' Initialize path and URL strings
    strPicturePath = "C:\checkmrk.wmf"
    strStreamPath = "C:\mywmf.wmf"
    strStreamURL = "URL=http://MyServer/mywmf.wmf"
    strStream2Path = "C:\checkmrk2.wmf"
    strRecordPath = "C:\mywmf.wmf"
    strRecordURL = "http://MyServer/mywmf2.wmf"

    ' Load the file into the stream
    objStream.Type = adTypeBinary
    objStream.LoadFromFile (strPicturePath)

    ' Save the stream to a new path and filename
    objStream.SaveToFile strStreamPath, adSaveCreateOverWrite

    ' Copy the contents of the first stream to a second stream
    objStream2.Type = adTypeBinary
    objStream.CopyTo objStream2

    ' Save the second stream to a different path
    objStream2.SaveToFile strStream2Path, adSaveCreateOverWrite

    ' Because strStreamPath is a Web Folder, open a Record on the URL
    objRecord.Open "", strStreamURL

    ' Display the Fields of the record
    For Each objField In objRecord.Fields
        Debug.Print objField.Name & ": " & objField.Value

    ' Copy the record to a new URL
    objRecord.CopyRecord "", strRecordURL, , , adCopyOverWrite

    ' Load each copy of the graphic into Image controls for viewing
    Image1.Picture = LoadPicture(strPicturePath)
    Image2.Picture = LoadPicture(strStreamPath)
    Image3.Picture = LoadPicture(strStream2Path)
    Image4.Picture = LoadPicture(strRecordPath)

    ' clean up
    Set objStream = Nothing
    Set objStream2 = Nothing
    Set objRecord = Nothing
    Exit Sub

    ' clean up
    If Not objStream Is Nothing Then
        If objStream.State = adStateOpen Then objStream.Close
    End If
    Set objStream = Nothing

    If Not objStream2 Is Nothing Then
        If objStream2.State = adStateOpen Then objStream2.Close
    End If
    Set objStream2 = Nothing

    If Not objRecord Is Nothing Then
        If objRecord.State = adStateOpen Then objRecord.Close
    End If
    Set objRecord = Nothing

    If Err <> 0 Then
        MsgBox Err.Source & "-->" & Err.Description, , "Error"
    End If
End Sub