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.
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
fox4um » Veritabanı, Tablo, View, Index ve SQL Syntax » 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.
GO BOTT
DO WHIL ! BOF()
....
SKIP -1
ENDD
veya herhandgi bir index varsa
SET ORDE TO Xindex DESC
SCAN
....
ENDS
bubble sort yap: http://en.wikipedia.org/wiki/Bubble_sort
ya da quick sort http://en.wikipedia.org/wiki/Quicksort
Cevaplar icin cok tesekkur ederim. Ben biraz ugrasip asagidaki kodu yazdim,
sanirim fazla uzun ve amatorce ancak sorunsuz calisiyor.
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
Sen yazmissin ama soyle birsey daha cok kontrol edilebilir.
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:
SELECT RECNO() as rcno,* ;
FROM (m.tcTable) ;
ORDER BY 1 DESC INTO cursor UpsideDown readwrite
Alter Table UpsideDown Drop Column rcno
evet, sanirim bunun gibi bir is icin cursor kullanmak daha kullanisli.
cok sagol cetin abi. ben gidiyim biraz select sql calisiyim
fox4um » Veritabanı, Tablo, View, Index ve SQL Syntax » verilerin sirasini degistirmek