The controlsource never is an alias, the controlsource always has to be a single value/field.
The rowsource and rowsourcetype is fully ok as is, but then you don't need your SQL and you are not at all making use of the resultset. Your Rowsource should be MyComboCursor.
You should give a field name in the SQL:
Code:
SELECT ALLTRIM(customers.firstname)+' '+ALLTRIM(customers.lastname) as fullname, customerid FROM customers ORDER by 1 INTO CURSOR MyComboCursor
Then set Rowsource to MyComboCursor.fullname,customerid and RowsourceType to fields.
A ControlSource could be Orders.cusomterid or appointments.customerid or something else being a customer ID, to pick one from the Rowsource. BoundColumn then needs to be 2 to relate to the customerid as the second column of the Rowsource.
Or you don't have any ControlSource at all.
I always remember the meaning of the controlsource as the source of some single value, controlling what is displayed. So in the first place it needs to be a single value, that is a field, not an alias alone.
What is displayed depends on the control. In a textbox it is the controlsource field or variable itself, but in a list or combobox the controlsource controls, which row is picked for display and the rowsource (and of course the rowsourcetype) determines what that row is (array row or table/cursor row for example) and what parts of that row are displayed.
Bye, Olaf.