*~~ 01.15.99 nf 1: Added .AND. ASC( this.displayvalue ) > 30 to beat the erroneous entry of a non-printable character when *~~ the list is closed via the down arrow. IF TRIM(this.value) <> TRIM(this.displayValue) .AND. !EMPTY( this.displayValue ) .AND. ASC( this.displayvalue ) >= 30 *!* Then we have a new value to add to the list this.additem( this.displayValue ) REPLACE ( SUBSTR( this.controlSource, AT( '.', this.controlSource ) + 1 ) ) WITH this.DisplayValue IN ; ( SUBSTR( this.controlSource, 1, AT( '.', this.controlSource ) - 1 ) ) ELSE RETURN .T. ENDIF