Dear Mr Kid,




Komplit sekali penjelasannya, sudah saya coba dan bisa menggunakan excel 2013 
untuk koneksi data nya.


Sangat membantu. Terimaksih Mr Kid





Salam


totong





From: [email protected] [mailto:[email protected]]
Sent: 24 Februari 2015 23:44
To: BeExcel
Subject: Re: [belajar-excel] Refresh Query Table Dari VBA








Hai Totong,


Benar adanya bahwa ada perubahan besar yang dilakukan oleh Excel dari xl2003 ke 
xl2007 dan seterusnya.


Koneksi data di xl2003 akan membentuk object querytable atau pivottable dengan 
object connection yang menempel di dalamnya. Object querytable ini ditampilkan 
seperti area range biasa.


Koneksi data di xl2007 ke atas akan membentuk object connections terlebih dulu 
kemudian membentuk excel table yang disebut ListObject atau pivot table. Object 
querytable ini ditampilkan atau akan menjadi member (anak) dari object excel 
table alias listobjects. Pada xl2007 ke atas, refresh data bisa dilakukan 
terhadap object connections-nya atau pada object output koneksi datanya 
(seperti listobjects atau pivot table)


Beberapa cara refresh hasil koneksi data dengan VBA :


1. pada xl2003


> sheets("nama sheet lokasi hasil query 
> table").querytables(indeks_query_table).refresh


** contoh hasil koneksi data berupa querytable pertama di sheet bernama 'hasil' 
yang diletakkan di cell A1



sheets("hasil").querytables(1).refresh





> sheets("nama sheet lokasi hasil query table").range("alamat sebuah cell dalam 
> tabel hasil query").querytable.refresh


** contoh hasil koneksi data berupa querytable pertama di sheet bernama 'hasil' 
yang diletakkan di cell A1


sheets("hasil").range("a1").querytable.refresh





2. pada xl2007 ke atas


> sheets("nama sheet lokasi hasil query 
> table").listobjects(indeks_atau_string_nama_objects).querytable.refresh


** contoh hasil koneksi data berupa querytable pertama di sheet bernama 'hasil' 
yang diletakkan di cell A1 dengan object excel table (alias listobjects) 
pertama yang diberi nama '_myTable_'


sheets("hasil").listobjects(1).querytable.refresh


atau


sheets("hasil").listobjects("_myTable_").querytable.refresh





> sheets("nama sheet lokasi hasil query table").range("alamat sebuah cell dalam 
> tabel hasil query").listobject.querytable.refresh


** contoh hasil koneksi data berupa querytable pertama di sheet bernama 'hasil' 
yang diletakkan di cell A1 dengan object excel table (alias listobjects) 
pertama yang diberi nama '_myTable_'


sheets("hasil").range("a1").listobject.querytable.refresh     'di range a1 ada 
listobject hasil query table, tulung di-refresh





> menggunakan object connections


      thisworkbook.connections(indeks_atau_string_nama_koneksi).refresh


** contoh hasil koneksi data pertama dengan koneksi yang diberi nama 
'_myConnection_' dan tidak tahu outputnya sebagai excel table atau pivot table 
di sheet mana.


thisworkbook.connections(1).refresh


atau


thisworkbook.connections("_myConnection_").refresh








Wassalam,


Kid.








2015-02-25 0:01 GMT+11:00 'Totong Sutiana' [email protected] [belajar-excel] 
<[email protected]>:





Dear para Master Excel





Semangat belajar VBA,


Biasa nya saya menggunakan format table yang dibuat dari excel2003 untuk 
koneksi tabel ke Sql server atau file lain.


Saya coba menggunakan query table dengan format excel2007 ke atas tapi dari vba 
nya tidak bisa diperlakukan seperti ditabel excel 2003.


Contoh di file attach. Menggunakan excel2003 klick refresh tidak masalah tapi  
dengan excel 2007 ke atas “Subscript Out of Range”


Metode seperti apa seharusnya untuk excel 2007?


Tujuannya digunakan untuk ambil data dari sql server satu koneksi beberapa 
tabel ke beberapa sheet dengan parameter yang sama melalui command text dan 
refresh sekaligus.


Contoh;


Tabel jual à sheet jual  parameter: 2015


Tabel Beli à sheet Beli  Parameter: 2015





Salam


totong









Kirim email ke