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/
 

Kirim email ke