Hmmmmm....
Kayaknya panjang buener bos...
sayang ga ada sqlserver 2000
adanya SQLServer Express...
Cobain yg ini... kali aja jalan di sql 2K :
SELECT * FROM
(SELECT f1, f2, f3, fn, row_number()
OVER (ORDER BY f1) nomer FROM table1) X
WHERE nomer between cast(:mulai as integer) and cast(:panjang as integer)
Kalo mo ditaroh di sp ya monggo... :))
Regards,
Not the best, only a www.h4rd3st.com one...
----- Original Message -----
From: "Syahrial Chan" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, April 12, 2007 2:21 AM
Subject: Re: [indopb] ambil data sesuai limit
Cara lain adalah melakukan proses dengan PROCEDURE pada database biar jalannya
lebih cepat seperti
di bawah ini, misalnya untuk menggabil baris 5 s/d 8 pada table supplier:
1. Buat prosedur:
CREATE PROC proc_supp (@start int, @end int)
AS
BEGIN
--Abil kode supplier sebagai WHERE CLAUSE data yang akan ditampilkan
DECLARE @looping int, @row int
DECLARE @sp_kode1 char(5),@sp_kode2 varchar(500),@command varchar(1000)
DECLARE c_supp SCROLL CURSOR FOR
SELECT sp_kode FROM supplier
ORDER BY sp_kode
SET @looping = 1
SET @row = @end - @start + 1
OPEN c_supp
FETCH ABSOLUTE @start FROM c_supp INTO @sp_kode1
SET @sp_kode2 = "'" + @sp_kode1 + "',"
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM c_supp INTO @sp_kode1
SET @looping = @looping + 1
IF @looping > @row
BREAK
ELSE
BEGIN
SET @sp_kode2 = @sp_kode2 + "'" + @sp_kode1 + "',"
CONTINUE
END
END
SET @sp_kode2 = left(@sp_kode2,len(@sp_kode2) - 1 )
CLOSE c_supp
DEALLOCATE c_supp
--SELECT tabel supplier berd
SET @command = 'SELECT * FROM supplier WHERE sp_kode IN (' + @sp_kode2 + ')'
EXEC (@command)
END
2. Buat DataWindow
3. Test dengan preview DataWindow, ketikkan 5 pada start dan 8 pada end. Nilai
ini sesuai dengan
range row yang akan ditampilkan
Selamat mencoba!
----- Original Message -----
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, April 11, 2007 5:23 PM
Subject: Re: [indopb] ambil data sesuai limit
Hello...
Sy bukan senior loh... :))
Tp sy coba jawab...
Coba kalo gini :
1. Buat 1 group dengan definition :
ceiling( getrow() /10)
2. Pada dw_1.event retrieveend() ketikin syntax berikut :
long i
for i=1 to long(rowcount/10)
//syntax dibawah disambung terus kesamping jadi satu baris, bukan kebawah...
modify('create text(band=foreground alignment="2" text="'+string(i)+'"
border="2"
color="33554432" x="'+string(i*90)+'" y="1400" height="56" width="70"
html.valueishtml="0" name=tpage_'+string(i)+' visible="1" font.face="Arial"
font.height="-8"
font.weight="400" font.family="2" font.pitch="2" font.charset="0"
background.mode="1"
background.color="1073741824" pointer="HyperLink!" )')
next
3. Trus pada dw_1.event clicked() ketikin syntax berikut :
if dwo.type='text' then dw_2.scrolltorow(long(dwo.text)*10)
4. dw_1.retrieve() --->> dimana aja
5. Jalankan aplikasi
6. Cobain klik 1 2 3 4 ... -nya
Kayak gitu bukan?
Mudah²an membantu.. ;)
Regards,
Not the best, only a www.h4rd3st.com one...
*yg ini gratisan loh... bukan promosi... :))
----- Original Message -----
From: "Firman Setiawan" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, April 11, 2007 1:52 PM
Subject: [indopb] ambil data sesuai limit
> Dear Senior PB,
>
>
>
> langsung saja ni, masih mengenai data. Saya lg buat program tp user meminta
agar data yg
> ditampilkan dalam datawindow misal 10 data tp tidak diambil semua (seperti
google ada 1,2,3,4,5,
> ...) jadi bila kita pilih angka 2 maka yg keluar adalah data 11 sampai 20.
Nah situ yg saya
> bingung karena di sql server 2000 tidak ada limit. Bagaimana solusi yg dpt
saya ambil. terima
> kasih atas bantuan n masukan Senior PB.
-----------------------------------------------
IndoPB - Indonesia PB User Group
An Indonesian PowerBuilder User Group's Event
2nd PowerBuilder Update
Rumah Sakit Jantung Harapan Kita
26/27 August 2006
To Register :
http://groups.yahoo.com/group/indopb/database?method=addRecord&tbl=4
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/indopb/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/indopb/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/