Source Property Example (VB)

Microsoft ActiveX Data Objects (ADO)

Source Property Example (VB)

This example demonstrates the Source property by opening three Recordset objects based on different data sources.

Public Sub SourceX()

    Dim cnn1 As ADODB.Connection
    Dim rstTitles As ADODB.Recordset
    Dim rstPublishers As ADODB.Recordset
    Dim rstPublishersDirect As ADODB.Recordset
    Dim rstTitlesPublishers As ADODB.Recordset
    Dim cmdSQL As ADODB.Command
    Dim strCnn As String
    Dim strSQL As String

    ' Open a connection.
    Set cnn1 = New ADODB.Connection
    strCnn = "Provider=sqloledb;" & _
        "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
    cnn1.Open strCnn
    
    ' Open a recordset based on a command object.
    Set cmdSQL = New ADODB.Command
    Set cmdSQL.ActiveConnection = cnn1
    cmdSQL.CommandText = "Select title, type, pubdate " & _
        "FROM Titles ORDER BY title"
    Set rstTitles = cmdSQL.Execute()
    
    ' Open a recordset based on a table.
    Set rstPublishers = New ADODB.Recordset
    rstPublishers.Open "publishers", strCnn, , , adCmdTable
    
    ' Open a recordset based on a table.
    Set rstPublishersDirect = New ADODB.Recordset
    rstPublishersDirect.Open "publishers", strCnn, , , adCmdTableDirect
    

    ' Open a recordset based on an SQL string.
    Set rstTitlesPublishers = New ADODB.Recordset
    strSQL = "SELECT title_ID AS TitleID, title AS Title, " & _
        "publishers.pub_id AS PubID, pub_name AS PubName " & _
        "FROM publishers INNER JOIN Titles " & _
        "ON publishers.pub_id = Titles.pub_id " & _
        "ORDER BY Title"
    rstTitlesPublishers.Open strSQL, strCnn, , , adCmdText

    ' Use the Source property to display the source of each recordset.
    MsgBox "rstTitles source: " & vbCr & _
        rstTitles.Source & vbCr & vbCr & _
        "rstPublishers source: " & vbCr & _
        rstPublishers.Source & vbCr & vbCr & _
        "rstPublishersDirect source: " & vbCr & _
        rstPublishersDirect.Source & vbCr & vbCr & _
        "rstTitlesPublishers source: " & vbCr & _
        rstTitlesPublishers.Source

    rstTitles.Close
    rstPublishers.Close
    rstTitlesPublishers.Close
    cnn1.Close

End Sub