Wiki Home

RowSource


Namespace: Wiki
Used to specify where the values in a Combo Box or List Box come from.

Syntax: Control.RowSource[ = cName]
The error "Field phrase not found" is caused by a combo or list with a .RowSourceType of Fields and a .RowSource that has the table alias in front of more than the first field. A .RowSource for fields is;
Customer.Name,City,State NOT
Customer.Name,Customer.City,Customer.state
The latter format will cause a "'field' phrase is not found" error. -- Jim BoothOffsite link to http://www.jamesbooth.com

You get Error# 1130, "'field' phrase is not found." when trying to reference a field that is not in the currently selected work area.

Another way to get the dreaded "'field' phrase is not found" error is to have a field appear twice in the SQL-Select that is the "source" of your .RowSource (not that I would ever do such a thing, of course [g]). -- Art Bergquist

And, another way is if you declare a SQL statement in the .RowSource and set .RowSourceType to 2-Alias rather than 3-SQL Statement. I've heard of that happening... :) Peter Diotte

Still another way is what I recently discovered:

This Form.cboMycombo.RowSource = CLIENT.NAME,AGE

If the field name is not present in the table - in the above case if the field is actually called "CLAGE", then since "AGE" is not found in the table, we get this error on a Refresh(). The error does NOT in any way point you to the control that has produced this error. You have to find it by trial and error. :( Bernard Bout

I've had this when I've manually specifed the RowSource on the control's Properties window in the designer. If you have a List Box or Combo Box in a Container Class, be wary of the order in which the various Init() methods are called. If you did as I did, and placed table opening and selection code in the Container's Init(), this code is caller AFTER the List Box's Init() method and, as such, the RowSource I'd specified wasn't available and threw this error.

I now place all RowSource / RowSourceType declarations in a user function called from the CONTAINER's Init() method

Tim Hustler


For me, this occurred when upgrading a FP 2.6 windows app which had some screens built first in 2.6.

The screen upgrade wizard put a &fieldname in the ROWSOURCE value, which wasn't translated properly at run time.

I fixed it by putting the appropriate assignment statement in the List Box.INIT

this.RowSource= dbfld

Craig Roberts


Applies To: Combo Box, List Box
RowSourceType
Category VFP Control Properties
( Topic last updated: 2009.01.27 12:28:14 AM )