Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Re-order sno
Message
From
18/12/2017 09:31:38
 
 
To
18/12/2017 05:55:45
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows 10
Network:
Windows Server 2008 R2
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01656489
Message ID:
01656499
Views:
53
Tamar already mentioned that such Reordering is often creating problems downstream.

As you already seem to enter a rising sequence, would it not be better to replace all sno with recno()?
It will give you non-duplicate numbers totally/contiously rising with the order data was entered (as you already have 2 breaks in your SNO...),
as long as there are no deleted data in your table and set deleted = ON

As it is unclear from your junk example if the real data is a cursor or (packable??) table and if deleted records could exist,
for the few quick scenarios I thought through the following should work
select * from junk into cursor T_Ord where deleted()=.f.  && perhaps add order on amount ?
select T_Ord
replace all sno with Recno()
>
>CREATE CURSOR junk (sno n(3),amount n(6))
>INSERT INTO junk VALUES (1,500)
>INSERT INTO junk VALUES (2,600)
>INSERT INTO junk VALUES (3,700)
>INSERT INTO junk VALUES (5,800)
>INSERT INTO junk VALUES (6,900)
>INSERT INTO junk VALUES (7,1000)
>INSERT INTO junk VALUES (8,1100)
>INSERT INTO junk VALUES (10,1200)
>INSERT INTO junk VALUES (11,1300)
>
>
>
>
>
>
>
>
>In sequence, if found any missing sno then replace the maximum number of sno with missing sno.
>
>In the above example sno=4 is missing and maximum sno is 11
>so sno 11 is being replaced with sno 4 and so on.
>
>
>Please help
Previous
Reply
Map
View

Click here to load this message in the networking platform