>I'm studying the article that Sergey suggested, but one more thing that popped up is this: Why, when the SQL call returns a single record, does the grid now show an impossible number of identical records?
>
>I have checked, and the empty cursor appends one record; when the grid shows on the form, it has row upon row of the same data, as if it has 5,000+ records to show.
>
>Is there a quick way around this?
Something fishy there. The grid's recordsource should be a readwrite cursor, best if created by a Create Cursor command. The only explanation I can imagine at the moment is that your grid's recordsource is a table, while the controlsources for its columns are fields from your cursor, with appropriate alias. It could happen if the expected recordsource for the grid wasn't open when the grid was created, so it would just grab the current alias.
You may need to create the grid's cursor before the grid is created (form's .load() or a method called from there, or some dataenvironment method like BeforeOpenTables).