[AccessD] Bind Form to RecordSet

Arthur Fuller fuller.artful at gmail.com
Sun Feb 24 12:16:01 CST 2013


I'm playing around with ways to do this but am running into a problem.

The form_open looks like this:

<vba>
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String

Set db = CurrentDb
strSQL = "SELECT * FROM Volunteers WHERE LastName IS NOT NULL " & _
         "ORDER BY LastName"
'----------------------------------------------------------------------------------------------
' Open the recordset
'----------------------------------------------------------------------------------------------
Set rs = db.OpenRecordset(strSQL)

With rs
    If .EOF And .BOF Then
        MsgBox "No records returned."
    Else
        .MoveFirst
        While Not .EOF
            Debug.Print rs("VolunteerID"), rs("LastName")
            .MoveNext
        Wend
    End If
End With

MsgBox "Setting new record source"
Debug.Print "Setting new record source"

'Here's where I get busted:
'Set Me.RecordSource = rs

rs.Close
Set rs = Nothing
End Sub
</vba>

I read something from microsoft on how to bind a form to a recordset but
the example was bound to a SQL Server db, and I wanted to keep it simple -
just create a local recordset and then assign it to the recordsource.

So I'm confused. Every previous time I've altered RecordSource it's been by
substituting a string. But the code in the MS example uses exactly the
syntax that failed me above.

Any suggestions, people?

-- 
Arthur


More information about the AccessD mailing list