>The following code is in the lostfocus event of a text field getting data from a barcode reader.
>The idea is to keep the data in the variable until it is changed. Location, UPC or Quantity. Increasing the count on the specific UPC if it is read in again. But it keeps creating a new record instead.
>
>
>CNTTEMP=This.Value
>* This says where the product is
>If Left(CNTTEMP,1)="*"
> TEMPLOC=Substr(CNTTEMP,2)
>Else
>* this it to change quantity by more than one at a time
> If Left(CNTTEMP,1)="#"
> TEMPCOUNT=Val(Substr(CNTTEMP,2))
> Seek TEMPUPC Order Tag CUPC In INVCOUNT
> If Found()
> Replace INVCOUNT.NCOUNT With INVCOUNT.NCOUNT+TEMPCOUNT In INVCOUNT
> Endif
> Else
>* this is the product UPC code
> TEMPUPC=CNTTEMP
> Locate For TEMPLOC=INVCOUNT.CLOCATION While TEMPUPC = INVCOUNT.CUPC
> If Found()
> Replace INVCOUNT.NCOUNT With INVCOUNT.NCOUNT+1 In INVCOUNT
> Else
> Append Blank In INVCOUNT
> Replace INVCOUNT.CLOCATION With TEMPLOC
> Replace INVCOUNT.CUPC With TEMPUPC
> Replace INVCOUNT.NCOUNT With 1
> Endif
> Endif
>Endif
>CNTTEMP=""
>Thisform.Refresh
LOCATE with a WHILE use a REST scope.
Locate ALL For m.TEMPLOC=CLOCATION While m.TEMPUPC = CUPC
If Found()
Replace NCOUNT With NCOUNT+1
Else
Append Blank
Replace CLOCATION With m.TEMPLOC;
, CUPC With m.TEMPUPC;
, NCOUNT With 1