[belajar-excel] Mengetahui data telah terupdate

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[belajar-excel] Mengetahui data telah terupdate

Heru Safrudin
Dear Master,


Saya bikin query di excel dari external data access
Saya suda set option Refresh every 30 minutes
Udah jalan sih interval 30 menit pasti refresh, tapi kita gak tau kalo
data telah terupdate

Pertanyaanya adakah event prosedur yg bisa memberikan pesan ada update
ketika query refresh dan data telah terupdate ?  (seperti Msgbox ) ?

--
Terima kasih

وَالسَّلَامُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Heru Safrudin


------------------------------------

---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
[hidden email]

posting ke milis, kirimkan ke:
[hidden email]

berkunjung ke web milis
http://tech.groups.yahoo.com/group/belajar-excel/messages

melihat file archive / mendownload lampiran
http://www.mail-archive.com/belajar-excel@.../
atau (sejak 25-Apr-2011) bisa juga di :
http://milis-belajar-excel.1048464.n5.nabble.com/

menghubungi moderators & owners: [hidden email]

keluar dari membership milis (UnSubscribe):
kirim mail kosong ke  [hidden email]
---------------------------------------------------------------------Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/belajar-excel/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/belajar-excel/join
    (Yahoo! ID required)

<*> To change settings via email:
    [hidden email]
    [hidden email]

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Kid
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] Mengetahui data telah terupdate

Kid
Administrator
Hai Heru,

Dengan asumsi bahwa setiap sheet Excel adalah sebuah tabel (agar lebih
berkaidah database), maka jumlah query table dalam setiap sheet adalah 1
bijik.

Object query table memiliki 2 event, yaitu beforerefresh dan afterrefresh
Pada object worksheet yang berisi query table tersebut bisa diberi script
berikut :
1. deklarasi variabel query table dengan scope private yang disertai
pernyataan memiliki events
    private withevents qtKu as querytable

2. prosedur dengan scope public untuk inisialisasi object querytable dalam
worksheet ke variabel qtKu (dideklarasikan di nomor 1)
    ** misal nama object worksheet dalam VBE [VB Project Explorer] yang
berisi query table adalah mySheet, dengan caption  (nama di sheet tab)
adalah Query1 ***
    public sub SetQT()
           'Jika query table diletakkan sebagai object Excel table (atau
bernama ListObjects), maka gunakan :
           'set qtKu = mySheet.listobjects(1).querytable

           'jika query table tidak tinggal dalam object listobjects :
           set qtku=mysheet.querytables(1)
    end sub

3. prosedur event (scope pasti private) milik query table (misal event
AfterRefresh, untuk variabel qtKu
    -> lihat combobox kiri di atas lembar script, pilih qtKu
    -> lihat combobox kanan di atas lembar script, pilih AfterRefresh
    -> isi blok prosedur event yang dibuatkan oleh VBA dengan script yang
dibutuhkan
    misal :
    *** saat selesai refresh (baik karena gagal atau berhasil), akan
ditulis waktu refresh dan status refresh di sebuah range diluar tabel
    *** waktu refresh akan ditulis di range F1 yang pasti diluar area query
table
    *** status refresh akan ditulis di range G1
    >> penulisan status seperti ini tidak akan mengganggu user yang sedang
sibuk mengamati tabel yang di-refresh, sedang msgbox akan mengganggu fokus
user
    *** bunyi script yang ditulis dalam blok prosedur event afterrefresh
tersebut adalah :
           mysheet.range("f1").value=now
           if success then
                 mysheet.range("g1").value ="Horeee... refresh-nya sukses"
           else
                 mysheet.range("g1").value =":(   hikhikhik... refresh-nya
gagal"
           endif

4. Melakukan inisialisasi object query table disheet tersebut
    *** misal dilakukan pada event workbook open (bisa di event worksheet
activate) ***
    -> isi event workbook open dengan baris yang memanggil prosedur (scope
public) milik worksheet (private object) berupa : (nama object sheet adalah
mySheet)
         mysheet.setqt

Wassalamu'alaikum Wr. Wb.
Kid.


2013/3/9 Heru Safrudin <[hidden email]>

> Dear Master,
>
>
> Saya bikin query di excel dari external data access
> Saya suda set option Refresh every 30 minutes
> Udah jalan sih interval 30 menit pasti refresh, tapi kita gak tau kalo
> data telah terupdate
>
> Pertanyaanya adakah event prosedur yg bisa memberikan pesan ada update
> ketika query refresh dan data telah terupdate ?  (seperti Msgbox ) ?
>
> --
> Terima kasih
>
> وَالسَّلَامُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
> Heru Safrudin
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> bergabung ke milis (subscribe), kirim mail kosong ke:
> [hidden email]
>
> posting ke milis, kirimkan ke:
> [hidden email]
>
> berkunjung ke web milis
> http://tech.groups.yahoo.com/group/belajar-excel/messages
>
> melihat file archive / mendownload lampiran
> http://www.mail-archive.com/belajar-excel@.../
> atau (sejak 25-Apr-2011) bisa juga di :
> http://milis-belajar-excel.1048464.n5.nabble.com/
>
> menghubungi moderators & owners: [hidden email]
>
> keluar dari membership milis (UnSubscribe):
> kirim mail kosong ke  [hidden email]
> ---------------------------------------------------------------------Yahoo!
> Groups Links
>
>
>
>
Kid
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] Mengetahui data telah terupdate

Kid
Administrator
ada yang kelupaan.

event afterrefresh seperti ini juga bisa di letakkan pada sebuah class
module, tapi sepertinya status refresh dan waktu refresh sebaiknya
diletakkan disebuah log_sheet yang berisi tabel dengan kolom-kolom bernama
nama_sheet, waktu_refresh, status_refresh. Dengan begitu, penulisan proses
log bisa dilakukan dengan tetap disuatu tempat.

Wassalamu'alaikum Wr. Wb.
Kid.

2013/3/9 Mr. Kid <[hidden email]>

> Hai Heru,
>
> Dengan asumsi bahwa setiap sheet Excel adalah sebuah tabel (agar lebih
> berkaidah database), maka jumlah query table dalam setiap sheet adalah 1
> bijik.
>
> Object query table memiliki 2 event, yaitu beforerefresh dan afterrefresh
> Pada object worksheet yang berisi query table tersebut bisa diberi script
> berikut :
> 1. deklarasi variabel query table dengan scope private yang disertai
> pernyataan memiliki events
>     private withevents qtKu as querytable
>
> 2. prosedur dengan scope public untuk inisialisasi object querytable dalam
> worksheet ke variabel qtKu (dideklarasikan di nomor 1)
>     ** misal nama object worksheet dalam VBE [VB Project Explorer] yang
> berisi query table adalah mySheet, dengan caption  (nama di sheet tab)
> adalah Query1 ***
>     public sub SetQT()
>            'Jika query table diletakkan sebagai object Excel table (atau
> bernama ListObjects), maka gunakan :
>            'set qtKu = mySheet.listobjects(1).querytable
>
>            'jika query table tidak tinggal dalam object listobjects :
>            set qtku=mysheet.querytables(1)
>     end sub
>
> 3. prosedur event (scope pasti private) milik query table (misal event
> AfterRefresh, untuk variabel qtKu
>     -> lihat combobox kiri di atas lembar script, pilih qtKu
>     -> lihat combobox kanan di atas lembar script, pilih AfterRefresh
>     -> isi blok prosedur event yang dibuatkan oleh VBA dengan script yang
> dibutuhkan
>     misal :
>     *** saat selesai refresh (baik karena gagal atau berhasil), akan
> ditulis waktu refresh dan status refresh di sebuah range diluar tabel
>     *** waktu refresh akan ditulis di range F1 yang pasti diluar area
> query table
>     *** status refresh akan ditulis di range G1
>     >> penulisan status seperti ini tidak akan mengganggu user yang sedang
> sibuk mengamati tabel yang di-refresh, sedang msgbox akan mengganggu fokus
> user
>     *** bunyi script yang ditulis dalam blok prosedur event afterrefresh
> tersebut adalah :
>            mysheet.range("f1").value=now
>            if success then
>                  mysheet.range("g1").value ="Horeee... refresh-nya sukses"
>            else
>                  mysheet.range("g1").value =":(   hikhikhik... refresh-nya
> gagal"
>            endif
>
> 4. Melakukan inisialisasi object query table disheet tersebut
>     *** misal dilakukan pada event workbook open (bisa di event worksheet
> activate) ***
>     -> isi event workbook open dengan baris yang memanggil prosedur (scope
> public) milik worksheet (private object) berupa : (nama object sheet adalah
> mySheet)
>          mysheet.setqt
>
> Wassalamu'alaikum Wr. Wb.
> Kid.
>
>
>
> 2013/3/9 Heru Safrudin <[hidden email]>
>
>> Dear Master,
>>
>>
>> Saya bikin query di excel dari external data access
>> Saya suda set option Refresh every 30 minutes
>> Udah jalan sih interval 30 menit pasti refresh, tapi kita gak tau kalo
>> data telah terupdate
>>
>> Pertanyaanya adakah event prosedur yg bisa memberikan pesan ada update
>> ketika query refresh dan data telah terupdate ?  (seperti Msgbox ) ?
>>
>> --
>> Terima kasih
>>
>> وَالسَّلَامُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
>> Heru Safrudin
>>
>>
>> ------------------------------------
>>
>> ---------------------------------------------------------------------
>> bergabung ke milis (subscribe), kirim mail kosong ke:
>> [hidden email]
>>
>> posting ke milis, kirimkan ke:
>> [hidden email]
>>
>> berkunjung ke web milis
>> http://tech.groups.yahoo.com/group/belajar-excel/messages
>>
>> melihat file archive / mendownload lampiran
>> http://www.mail-archive.com/belajar-excel@.../
>> atau (sejak 25-Apr-2011) bisa juga di :
>> http://milis-belajar-excel.1048464.n5.nabble.com/
>>
>> menghubungi moderators & owners: [hidden email]
>>
>> keluar dari membership milis (UnSubscribe):
>> kirim mail kosong ke  [hidden email]
>> ---------------------------------------------------------------------Yahoo!
>> Groups Links
>>
>>
>>
>>
>