Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Re-order sno
Message
De
18/12/2017 09:31:38
 
 
À
18/12/2017 05:55:45
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows 10
Network:
Windows Server 2008 R2
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01656489
Message ID:
01656499
Vues:
54
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
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform