In a listbox with incremental search VFP seeks only in the first column. Even when the index is set to a field in another column. Is there no way to force VFP to search on another column(fiedl)? Or is it better to use a utility as, p.e. Jkey

Use a grid instead. You can make it look like a litbox and sort the grid when you click on a column header. Code like this in the grid's Init to set it up"

*** First of all, see which column fired off this eventAEVENTS( laEvents, 0 )
loHeader = laEvents[ 1 ]IFVARTYPE( loHeader ) = 'O' *** First See if a ControlsSource was set for the column
lcField = JUSTEXT( loHeader.Parent.ControlSource )
This.cSortField = [] *** we have a field - let's see if it already has a sort order set *** if it does, it will have the appropriate picture in the header
lcSortOrder = ''IF NOT EMPTY( loHeader.Picture )
lcSortOrder = IIF( LOWER( JUSTFNAME( loHeader.Picture ) ) == 'down.bmp', '', 'DESC' )
ELSE *** See if there is a visual cue on any of the other grid *** column headers and remove it if there isFOREACH loColumn INThis.ColumnsFOREACH loControl IN loColumn.ControlsIFLOWER( loControl.BaseClass ) == [header]IF NOT EMPTY( loControl.Picture )
llFoundColumn = .T.
loControl.Picture = []
loControl.FontBold = .F.
EXITENDIFENDIFENDFORIF llFoundColumn
EXITENDIFENDFORENDIF *** if we have a field - let's sortIF NOT EMPTY( lcField )
*** There seems to be a refresh issue here *** because even though the data is in the cursor *** it is not showing up in the grid after the sort *** and it looks like it is related to AllowCellSelection being .F.This.AllowCellSelection = .F.
This.Refresh()
KEYBOARD'{CTRL+TAB}' *** Check to see if the tag exists assume *** that if there is a tag on this field, it has the same name as the fieldIF IsTag( lcField, This.RecordSource )
This.cSortField = lcField
lnRecNo = RECNO( This.RecordSource )
*** Go ahead and set the order for the tableSELECT ( This.RecordSource )
IF NOT EMPTY( lcSortOrder )
SETORDERTO ( lcField ) DESCENDINGELSESETORDERTO ( lcField )
ENDIFThis.SetFocus()
IF lnRecNo # 0
GO lnRecNo IN ( This.RecordSource )
ENDIF *** And set the visual cues on the header
loHeader.Picture = IIF( EMPTY( lcSortOrder ), [..\graphics\up.bmp], [..\graphics\down.bmp] )
loHeader.FontBold = .T.
ENDIFENDIFENDIFThis.AllowCellSelection = llAllowCellSelection

You can then also use BindEvent() to handle the incremental searching and add a method to the grid to handle that.