*-- myListBox.Init() PUBLIC gaRowSource WITH this *-- Assign the rowsource -- you can do this in the PEM manager rather than * in code. .rowsource = "gaRowSource" *-- Rowsource type is array. It could also be cursor -- but I think array is * easier to work with. You will get lots of other opinions. .rowsourcetype = 5 *-- Select just the SSN and last fields from my .dbf table into the array SELECT SSNField, LastField from myRowSourceTable INTO ARRAY gaRowSource *-- If something was select, ok. If nothing was selected there is a problem * so display a MESSAGEBOX() (omitted here) to alert the user. IF _TALLY > 0 *-- Requery to reinstall gaRowSource as the .rowsource for this control * This is the same as reassigning the rowsource with: * .rowsource ="gaRowSource" .requery() ELSE *-- error message here ENDIF ENDWITH RETURNIn actual code I would probably make aRowSource a property of the listbox -- in fact all of my combobox and listbox abstract classes include an aRowSource[1] property just in case I want to populate the rowsource from an array.