sori rada flaming,

masa solusi yg pernah aku kasih di trit ini ngga bs? aku udah coba tu teknik
koq.. bisa. n aku *sering bangedd* pakae tu cara.
aku emang ngga pakae dataset-dataset-an utk ngisi data ke grid, bcoz
senengnya pakae listview. jadi ngisi data ke lv nya ya ngga bs pake
data-aware/data-bound controls.

berikut ini aku posting ulang code-ku yg kemaren aku kirim :

listbox1.clear 'anggaplah kita mo ngisi listbox nih...
dim rs as ADODB.recordset, i as long, sSQL as string
sSQL = "SELECT * FROM apa_aja" 'ini querynya...
set rs = db.Execute(sSQL)
  if rs.recordcount > 1 then
   'setting initial state dari progressbar n batas atas-nya dengan jumlah
recordcount
   ProgressBar1.Max = rs.recordcount
   ProgressBar1.Value = 0
   'trus lakukanlah perulangan bwt ngisi data -- plus dengan majuin
progressbarnya
   for i = 1 to rs.recordcount
     ProgressBar1.value = i
     Listbox1.add rs(0).value
     rs.movenext
   next i
 else
  'klo data hasil select kosong, progressbar dipenuhin aja..
  ProgressBar1.Max = 1
  ProgressBar1.Value = 1
 end if
rs.close
set rs = nothing
'selesei deh. ^_^

cara kerjanya?
gini :

dari query SELECT yg udah kita provide utk retrieve data, habis di-execute n
hasilnya ditampung di object recordset :

set rs = db.Execute(sSQL)

di tu object recordset bakal punya property .recordcount yg isinya berupa
value JUMLAH RECORD yang dihasilkan dari query SELECT itu tadi.

nah, tu .recordcount, akan kita masukin nilainya sebagai nilai .Max nya
control ProgressBar. Misal hasil SELECT mu menghasilkan 34 record, nilai
ProgressBar1.Max = 34. dan jangan lupa inisialisasikan ProgressBar1.Value =
0 (state sebelum ngisi data, progressbar harus menunjukkan nilai 0. ntar
dimajuin 1-per-1 sebanyak jumlah recordnya.

trus, utk ngisi data ke listbox/listview/combo/ato apa lah.. pergunakanlah
looping
   for i = 1 to rs.recordcount
     ProgressBar1.value = i
     Listbox1.add rs(0).value
     rs.movenext
   next i

ketika 1 (satu) record data di-tuliskan ke dalam list, value dari
progressbar jg akan maju 1 poin. demikian seterusnya sampe record terakhir
udah ketulis semua ke list (yg juga berarti value dari progressbar akan sama
dengan progressbar.max)

udah. gtu aja. jadi deh progressbar mu. jadi bukannya *tidak bisa* om...

^_^ v   peace....

*sekali lagi, maaf... ngga bermaksut flaming ato membuka perdebatan.


-- 
wassalam,

Rizky Prihanto
http://www.software-arsitek.web.id

2008/6/10 Iwan CS <[EMAIL PROTECTED]>:

> Kalo menurutku kita *tidak bisa* menghubungkan proses loading data yang di
> eksekusi ke dataset dengan sebuah progress bar, karena kita tidak bisa
> mengakses proses loading data ke dataset, yang kita dapat akses adalah
> hasil akhir dari query kita yang berupa data di dataset. Dan sebenernya
> itu pun gak semua data diambil dari server, karena hanya data yang
> ditampilkan saja yang di fetch dari database, pada saat kita pindah ke
> record baru, maka baru dataset mengambil kembali data dari database.
>
> Yang bisa kita lakukan adalah membuat progress bar untuk menunjukan
> bahwa query sedang berlangsung , caranya dengan mempergunakan timer dan
> progress bar, jadi kita set progress bar ke suatu nilai tertentu,
> kemudian setiap sebelum perintah execute dari tiap query, kita tambahkan
> perintah DoEvents agar proses timer dapat di kerjakan tanpa menunggu
> perintah execute selesai. Nah pada fungsi timer, kita tambahkan progress
> bar, dan timer di enable sebelum perintah query pertama di execute dan
> di disable setelah perintah execute terakhir di kerjakan.
>
> Selamat mencoba.
>
> Iwan Cahyadi Sugeng
>
> Interaktif Cipta Lestari
>
>
>
> [EMAIL PROTECTED] wrote:
> > kenapa gak coba pake thread?
> >
>


[Non-text portions of this message have been removed]

Kirim email ke