1

Konu: verilerin sirasini degistirmek

bir tabloda en yukardaki verileri en asagiya ve en asagidaki verileri en yukariya yazdirmak (yani tabloyu tepe taklat etmek) icin nasil bir kod gerekir.

scan endscan  komutunun tersi gibi.

2

Re: verilerin sirasini degistirmek

Visual Fox Pro
GO BOTT

DO WHIL ! BOF()
....
SKIP -1
ENDD


veya herhandgi bir index varsa

Visual Fox Pro
SET ORDE TO Xindex DESC

SCAN
....
ENDS
VFP9 SP2

3 Son düzenleyen, metin (07.09.2008 18:05:57)

Re: verilerin sirasini degistirmek

bubble sort yap: http://en.wikipedia.org/wiki/Bubble_sort

ya da quick sort http://en.wikipedia.org/wiki/Quicksort

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

4

Re: verilerin sirasini degistirmek

Cevaplar icin cok tesekkur ederim. Ben biraz ugrasip asagidaki kodu yazdim,
sanirim fazla uzun ve amatorce ancak sorunsuz calisiyor.



Visual Fox Pro
Function UpsideDown

Lparameters tcTable
Local lirecsize, ix,  iy
lirecsize = Reccount(m.tcTable)
Alter Table (m.tcTable) Add Column datacount i
Select * From (m.tcTable) ;
    Where .F. Into Table UpsideDown
Select(m.tcTable)
Go Top
For ix = 1 To m.lirecsize
    Replace datacount With m.ix
    Skip 1
Endfor
Go Bottom
For iy = 1 To m.lirecsize
    Select * From (m.tcTable) ;
        Where datacount = m.lirecsize + 1 - m.iy ;
        INTO Cursor dummy
    Select UpsideDown
    Append From Dbf("dummy")
    Select dummy
    Use
    Select(m.tcTable)
    Skip -1
Endfor
Alter Table (m.tcTable) Drop Column datacount
Alter Table UpsideDown Drop Column datacount
Select UpsideDown
Browse
Endfunc

5

Re: verilerin sirasini degistirmek

Sen yazmissin ama soyle birsey daha cok kontrol edilebilir.

Visual Fox Pro
SELECT RECNO() as rcno,* ;

   FROM (m.tcTable) ;
   ORDER BY 1 DESC INTO table UpsideDown
Alter Table UpsideDown Drop Column rcno

Ve aslinda sanirim istedigin tablo degil cursor:

Visual Fox Pro
SELECT RECNO() as rcno,* ;

FROM (m.tcTable) ;
ORDER BY 1 DESC INTO cursor UpsideDown readwrite
Alter Table UpsideDown Drop Column rcno

6

Re: verilerin sirasini degistirmek

evet, sanirim bunun gibi bir is icin cursor kullanmak daha kullanisli.
cok sagol cetin abi. ben gidiyim biraz select sql calisiyim smile