The way I like to do this is as follows:
1) Subclass the base combobox class to create a generic combobox class to be used throughout the application.
2) Add a custom GetItems method to this class by choosing Class > New Method from the menu and specifying GetItems for the name.
3) In the Init method, put a call to GetItems, like this:
This.GetItems()
4) In the Requery method, do the same thing.
5) Save the class.
Now, when dropping combos on forms, use this new class instead of the VFP combobox class. (There are a number of ways you can do that. I like to use the Toolbox, but you can also do this from the Form Controls toolbar, the Project Manager or the Class Browser.)
Once the combo is on the form, double-click on it to open a code window and switch to the GetItems method. Put the code for your query and anything else you need to set up the combo there. You'll want to set RowSourceType and RowSource. (I actually do this a little differently, but I'm simplifying.) That's all it takes.
When I have a combo that I need on multiple forms (for example, to choose a customer), what I actually do is subclass the class I created above and set the new subclass up exactly as I want it for that particular situation, and then use that class every time I need that particular kind of combo.
Tamar