Sub SelChangedHandler

'____________________

Dim lnSelType, lnStopOrder, lnRowID as SmallInt, lcStopNo as String,
llFound as Logical

 

If gcTable = "RZStop" and glAdding  then                ' If plotting a
Route's Stops

   lnSelType = CommandInfo( CMD_INFO_SELTYPE)

   lcStopNo = Str$( Selection.Stop_No)

   If lnSelType = 1 then  ' added row

       Insert into csrStopOrder Values ( lcStopNo, gnStopOrderNo)

       gnStopOrderNo = gnStopOrderNo + 1

   Else   ' must = 2 - removed row

       llFound = FALSE

       Fetch first from csrStopOrder 

       Do while not EOT( csrStopOrder) 

          AND not llFound ' Find row to be deleted in cursor

         If RTrim$( csrStopOrder.Stop) <> RTrim$( lcStopNo) then

             Fetch next from csrStopOrder

         Else

             llFound = TRUE

             lnStopOrder = csrStopOrder.StopOrder

             lnRowID = csrStopOrder.RowID

             Delete from csrStopOrder where RowId = lnRowID

 

             Fetch first from csrStopOrder

             Do while not EOT( csrStopOrder )' Reshuffle down all stop
orders after deleted one

               If csrStopOrder.StopOrder > lnStopOrder then

                    lnRowID = csrStopOrder.RowID

                    Update csrStopOrder 

                       set StopOrder = StopOrder - 1 where RowID =
lnRowID

               End If

               Fetch next from csrStopOrder

             Loop

             gnStopOrderNo = gnStopOrderNo - 1

         End If  ' RTrim$() ...

       Loop

   End If ' lnSelType = 1 

   Commit Table csrStopOrder

End If

End Sub

 

 

Reply via email to