Pak HK,

Excel 12.0 diikuti :
Xml : untuk xlsx
Macro : untuk xlsm
tanpa keduanya : untuk xlsb, xlsx, dan xlsm

Excel 8.0 tidak ada ikutannya karena semuanya xls dan berlaku untuk xl2002
(mungkin malah dari sebelumnya, tapi setelah Excel 4) dan xl2003

Regards,
Kid


2018-01-16 17:13 GMT+07:00 hendrik karnadi hendrikkarn...@yahoo.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
> Terima kasih Mr. Kid atas penjelasannya yang tidak mudah kami dapatkan
> dari internet.
>
> Sebagian Code dari file yang saya kirim terdahulu, "scon" nya (huruf
> miring berrwarna) ada tambahan "*Xml*" di belakang versi Excel (*Excel
> 12.0*),
> cn.Open *"Provider=Microsoft.ACE.OLEDB.12.0;" & _*
> *            "Data Source=" & ThisWorkbook.FullName & ";" & _*
> *            "Extended Properties=""Excel 12.0 Xml;HDR=YES"";"*
> Saya menggunakan Excel 2013.
>
> Yang ingin saya tanyakan:
> Apa fungsi "*Xml*" di sini ?
>
> Terima kasih.
>
> Salam,
> HK
>
>
> On Monday, 15 January 2018, 7:56:38 PM GMT+7, 'Mr. Kid' mr.nm...@gmail.com
> [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
>
>
>
> Wa'alaikumussalam wr wb
>
> Hai Tio,
>
> 1. Contoh ADO dan DAO
> > File kerja wbkApp.xlsm; File Data E:\wbkDT.xls sheet DATA
>    hasil di wbkApp.xlsm sheet HASIL, dengan record pertama di range A2
> > ADO
>    'pakai 3 baris berikut jika di VBE -> Tools -> references -> sudah
> dipilih Ms ActiveX Data Object versi tetrtinggi yang ada
>    '>> kalau dicentang sendiri di references, lalu komputer lain tidak
> punya, maka akan error.
>        dim cn as adodb.connection, rs as adodb.recordset,sCon as string,
> sQ as string
>        set cn=new adodb.connection
>        set rs=new adodb.recordset
>
>    'kalau tidak mau repot pakai centang references, pakai 3 baris ini :
> [late binding]
>    '>> untungnya, references selalu dipilihkan yang terbaru oleh OS
>        dim cn as adodb.connection, rs as adodb.recordset,sCon as string,
> sQ as string
>        set cn=createobject("adodb.connection")
>        set rs=createobject("adodb.recordset")
>
>    'connection string dan query untuk koneksi data
>    'Connection string : [ganti path dan nama file sesuai kebutuhan] [pilih
> salah satu]
>        scon="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm,
> *.xlsb)};DBQ=E:\wbkDT.xls;"     'driver ODBC (direkomendasikan)
>
>        'driver OLEDB,xl2007 ke atas, ganti 8.0 menjadi 12.0, sesuaikan
> OLEDB.12.0 dengan yang ada di komputer setempat
>        scon="Provider=Microsoft.ACE.OLEDB.12.0;Data
> Source=E:\wbkDT.xls;Extended Properties=""Excel 8.0;HDR=YES"";"
>
>    'query
>       sq="SELECT a.* FROM [DATA$] as a"
>
>    'buka koneksi dan ambil recordset
>       cn.open scon
>       rs.open sQ, cn , 1 , 3       '1 : cursor type Open Keyset ; 3 : lock
> type Optimistic
>
>    'paste ke range a2
>       sheets("hasil").range("a2").copyfromrecordset rs
>
>     'tutup
>       rs.close
>       cn.close
>
>     'jika perlu cleanup
>       set rs=nothing
>       set cn=nothing
>
> > DAO [sangat cepat untuk data MS Access, Excel, dan text file]
>    'A. *khusus untuk file xl2003 ke bawah saja*
>     'pastikan referensi yang dicentang adalah Ms Data Access Object
> terbaru (3.6 kalo gak salah)
>        dim db as DAO.database, rs as DAO.recordset
>
>     'buka db file dan ambil recordset [sesuaikan nama file]
>        set db=OpenDatabase( "E:\wbkDT.xls" , false, true , "Excel
> 8.0;HDR=YES;" )     'kalau data tidak punya header, set HDR dengan NO,
> false : opsi untuk shared mode, true : read only
>        set rs=db.openrecordset( "DATA$" )      'nama sheet bisa diganti
> query, cursor type juga bisa dtentukan, tapi contoh ini pakai default-nya
>
>    'B. untuk file xl2002 ke atas
>     'pastikan referensi yang dicentang adalah Ms Data Access Object
> terbaru (3.6 kalo gak salah)
>        dim db as DAO.database, rs as DAO.recordset
>        dim ws as DAO.workspace
>
>     'buka db file dan ambil recordset [sesuaikan nama file]
>        set ws=createworkspace( "" , "" , "" , 1 )      ' nama workspace :
> "" , user : "" , pwd : "" , type : odbc  [selainnya adalah 2, untuk Jet
> (khusus database engine MS Access)
>        '  nama file db atau dsn odbc : ""  , options : kosong , readonly :
> kosong , connection string
>        set db=ws.opendatabase( "" ,  ,  ,  "ODBC;Driver={Microsoft Excel
> Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};Dbq=E:\wbkDT.xls;"  )
>        set rs=db..openrecordset( "SELECT a.* FROM [DATA$] as a" )
>
>
>   '>langkah selanjutnya<'
>    'paste ke range a2
>       sheets("hasil").range("a2").copyfromrecordset rs
>
>     'tutup
>       rs.close
>       db.close
>
>     'jika perlu cleanup
>       set rs=nothing
>       set db=nothing
>
> 2. Syarat :
>  > ADO :
>        a. di komputer telah ter-install dan terregister library Ms ActiveX
> Data Objects
>        b. pilih connection string yang sesuai dengan driver-nya (ODBC atau
> OLEDB)
>        c. bisa semua versi Excel, dengan mengatur nilai parameter pada
> bagian ExtendedProperties jika pakai OLE DB
> > DAO
>        a. di komputer telah ter-install dan teregister library Ms Data
> Access Object
>        b. pastikan telah mencentang referensi library Ms Data Access
> Object, karena menggunakan on the fly pun sama beresikonya (kalau ADO bisa
> lebih luwes)
>        c. khusus untuk koneksi ke database berupa file seperti MS Access,
> textfile, Excel versi 2003 ke bawah (yang di-save as versi 2003 ke bawah),
> pakai cara A
>        d. khusus untuk koneksi ke database berupa file seperti MS Access,
> textfile, Excel versi 2002 ke atas (yang di-save as sesuai versinya), pakai
> cara B
>
> 3. Referensi yang harus dicentang bisa dilihat di nomor 1 dan nomor 2. ADO
> berpotensi tidak perlu mencentang, yaitu dengan createobject (lihat nomor 1)
>
> 4. Kecepatan :
>       DAO lebih cepat dari ADO ketika mengkoneksi MS Access, Text File,
> dan Excel
>       ADO secara umum lebih cepat dari DAO ketika mengkoneksi DBMS Oracle,
> MS SQL Server, MySQL, dan beberapa DBMS lain
>       umumnya yang digunakan adalah ADO dengan driver ODBC. Untuk ADO
> dengan driver OLE DB ke produk Ms SQL Server lebih cepat dibanding ODBC
> kecuali saat mengeksekusi stored procedure
>
> Wassalamu'alaikum wr wb
> Kid
>
>
>
> 2018-01-15 11:45 GMT+07:00 Tio Adi Bayu Adjie tio.ad...@ptssb.co.id
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>
>
>
> Assalamu Alaikum Wr. Wb.
>
>
>
> Dear Be-Exceller,
>
> Saya tertarik dengan contoh consolidate terlampir yang diberikan Pak
> Hendrik sebelumnya tentang Consolidate dengan menarik data dari worksheet
> lain dengan ADO. Yg mau saya tanyakan.
>
> 1.       Adakah contoh sederhana tentang import data sederhana (bukan
> consolidate) dari workbook lain dengan ADO dan dengan DAO ?
>
> 2.       Apakah ada syarat tertentu, seperti excel versi 2010 atau versi
> yg lebih tinggi atau bisa dengan versi yang lebih rendah ?
>
> 3.       Apakah ada reference tertentu yang harus di centang, seperti
> Microsoft office 14.0 Object Library atau reference lainnya ?
>
> 4.       Import data mana yang lebih cepat, dengan ADO atau DAO ?
>
>
>
>
>
> *Terima Kasih *
>
> *Wassalamu alaikum Wr. Wb.*
>
>
>
> *Best Regards,*
>
> Tio Adi Bayu Adjie
>
>
>
>
> 
>
  • Re: [belajar-exce... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar... hendrik karnadi hendrikkarn...@yahoo.com [belajar-excel]
      • Re: [bel... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
        • Re: ... hendrik karnadi hendrikkarn...@yahoo.com [belajar-excel]
          • ... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
            • ... hendrik karnadi hendrikkarn...@yahoo.com [belajar-excel]
    • RE: [belajar... Tio Adi Bayu Adjie tio.ad...@ptssb.co.id [belajar-excel]
      • Re: [bel... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]

Kirim email ke