Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
LOCAL lnStyle, lnLastKey, lcDisplayValue
lnLastKey=lastkey()
lnStyle = this.style
IF this.style = 2
this.style = 0
ENDI
IF (lnLastKey>=32 and lnLastKey<=126)
IF this.selstart>=1
lcDisplayValue=substr(this.displayvalue,1,this.selstart-1)+(chr(lnLastKey))
ELSE
lcDisplayValue=(chr(lnLastKey))+allt(this.displayvalue)
ENDI
IF empty(lcDisplayValue)
lcDisplayValue=allt(chr(lnLastKey))
ENDI
FOR i = 1 to this.listcount
If Upper(lcDisplayValue) == Upper(Substr(This.List(i),1,Len(lcDisplayValue)))
This.DisplayValue=This.List(i)
This.SelStart=Len(lcDisplayValue)
nlLength=Len(Allt(This.DisplayValue))-Len(lcDisplayValue)
This.SelLength=Iif(nlLength <0,0,nlLength)
this.lastdisplayvalue = this.displayvalue
this.lastselstart = this.selstart
this.lastsellength = this.sellength
RETURN
ENDI
ENDFOR
ENDIf
[code]
[red]
In the combobox requery:
[/red]
[code]
this.Value = this.DisplayValue && Just to reset the display value
If !Empty(This.DisplayValue)
Local cTableName,cFieldName,nAnswer,cValue
Store Juststem(This.RowSource) To cTableName &&Won't work for VFP5.0
Store Justext(This.RowSource) To cFieldName && This is normally used for 3 character extension, but it works for any lenght. Won't work for VFP5.0
Select (cTableName)
Locate For &cFieldName = This.DisplayValue
If !Found()
nAnswer = Messagebox("This value was not found in the table,"+Chr(13)+"Do you want to save it in the table?",36,"")
If nAnswer = 6
Insert Into &cTableName (&cFieldName) Values (This.DisplayValue)
If CursorGetProp("Buffering") > 1 && Check to see if we should use tableupdate
Tableupdate(1,.T.,cTableName)
ENDIF
this.Requery() && To reset the display value
Else
Store ' To This.DisplayValue
Endif
Endif
ENDIF