Yup Sent from my smart enough phone
> On Feb 23, 2018, at 10:15, Sony Ario sony.ar...@gmail.com [belajar-excel] > <belajar-excel@yahoogroups.com> wrote: > > Mr. Kid, > > Maaf mau tanya setelah point B.2 itu mengenai ini : --- disini, lakukan > close connection dulu, lalu open connection lagi --- > > Apakah ini maksud nya supaya hasil Create Table nya terlihat dulu ? Terima > kasih sebelumnya. > > wassalam > > > gnl-excelinfo.blogspot.co.id > > 2018-02-19 10:36 GMT+07:00 'Mr. Kid' mr.nm...@gmail.com [belajar-excel] > <belajar-excel@yahoogroups.com>: >> >> Wa'alaikumussalam wr wb >> Mas Zainul, >> >> Query ke excel files tidak bisa melakukan delete from (dml). >> Untungnya, ddl query : >> 1. drop table bisa membuang seluruh definisi table. >> 2. create table bisa membuat tabel pada existing sheet.. >> >> Syarat dan ketentuan : >> 1. hasil drop table bukan membuang sheet, tetapi membuang isi sheet >> 2. Efek dari drop table yang akan menghasilkan sheet kosong (tanpa kolom dan >> records apapun) tampak jika koneksi sudah di-close. >> 3. hasil dari crate table adalah menulis header pada baris 1 sheet tanpa >> mempedulikan baris setelahnya >> 4. Efek dari create table yang akan menghasilkan sheet berisi header tampak >> jika koneksi sudah di-close >> >> Jadi, pada koneksi ke Excel files, urutan proses yang setara dengan >> kemampuan delete from adalah sebagai berikut : >> A. Syarat dan Ketentuan : >> > sediakan sebuah sheet kosong sejak dari desain. >> * contoh : file xldb.xlsx sebagai wadah penyimpan data, berisi sheet : >> SALES : untuk wadah data transaksi sales >> PRODUK : untuk wadah data referensi produk (daftar >> produk) >> dan dbTmp : sebagai sheet kosong temporary untuk proses >> setara delete from >> >> B. Proses yang setara delete from >> > koneksi ke file data (misal ke file xldb.xlsx) >> > memanfaatkan object connection yang ada, dilakukan Execute pada >> queries dengan urutan proses berikut : >> 1. drop table sheet temporary >> * Contoh : DROP TABLE [dbTmp$] >> 2. create table di sheet temporary, dengan kolom sebanyak yang >> diproses >> * Contoh : sheet PRODUK memiliki 2 kolom, yaitu IDPRODUK >> bertipe numerik dan NMPRODUK bertipe text >> CREATE TABLE [dbTmp$] ( [IDPRODUK] Long, >> [NMPRODUK] char(255) ) >> * biasanya, semua kolom di set char(255) pun tiak mengapa, >> karena pada query insert into maupun update, datatype nilai yang ditulis >> mengikuti datatype sumber datanya >> * penggunaan kurung siku ( [ dan ] ) sebagai antisipasi error, >> karena nama kolom maupun tabel terkadang menggunakan spasi atau karakter >> lain yang kurang layak. >> * jika ada karakter titik pada nama kolom atau nama tabel, >> ganti dengan karakter # >> sebaiknya penggunaan karakter selain [A-Z] [0-9] dan >> underscore dihindari saja lah >> --- disini, lakukan close connection dulu, lalu open connection lagi >> --- >> 3. insert into sheet temporary dari sheet data yang akan diproses >> * Contoh : sheet PRODUK selain IDPRODUK bernilai < 10 akan >> dibuang, maka pindahkan record IDPRODUK >=10 ke sheet temporary >> INSERT INTO [dbTmp$] SELECT * FROM [PRODUK$] >> WHERE [IDPRODUK]>=10 >> 4. drop tabel yang diproses >> * contoh : DROP TABLE [PRODUK$] >> 5. create table yang diproses >> * contoh : CREATE TABLE [PRODUK$] ( [IDPRODUK] Long, [NMPRODUK] >> char(255) ) >> --- disini, lakukan close connection dulu, lalu open connection lagi >> --- >> 6. insert into tabel yang diproses dari sheet temporary >> * contoh : INSERT INTO [PRODUK$] SELECT * FROM [dbTmp$] >> (optional) 7. drop sheet temporary supaya file size bisa terjaga >> sebesar isi yang ada saja (barang tak terpakai sudah dibuang) >> * contoh : DROP TABLE [dbTmp$] >> --- close connection dan selesai --- >> >> Peringatan : >> > Saat proses close connection dan open connection lagi yang ada setelah >> > proses nomor 2 dan 5, bisa jadi akan memberi kesempatan pada user lain >> > untuk membuka koneksi yang menyebabkan proses menjadi gagal. Jadi, >> > sebaiknya : >> 1. koneksi data yang hanya berisi proses read, diset agar connection >> string menyakatan Mode=Read;ReadOnly=1 >> 2. koneksi data yang mengubah isi (update, insert into) termasuk proses >> di atas TIDAK di-set Mode apapun. >> > Sebaiknya proses seperti ini digunakan untuk proses akhir. >> Contoh : >> User meng-edit (tambah, ubah, hapus records) di interface : >> 1. proses tambah -> execute query insert into >> 2. proses ubah -> execute query update dengan set di record >> tersebut apa adanya yang diisi user di interface >> 3. proses hapus -> execute query update dengan set seluruh kolom di >> record tersebut dengan '' (nullstring) atau NULL (tanpa petik) >> Ketika user akan keluar dari interface, lakukan proses setara >> DELETE FROM di atas, dengan proses nomor 3 bagian WHERE nilai sebuah kolom >> yang <>'' seperti : >> INSERT INTO [dbTmp$] SELECT * FROM [PRODUK$] WHERE >> [IDPRODUK]<>'' >> >> Kira-kira demikianlah... >> Detilnya, sila dicoba sendiri dulu ya, nanti ditanyakan lagi beserta hasil >> ujicobanya.. >> dah bengkak jarinya mencetin layar kecil segini.. >> lama juga ngetik segitu banyak.. (lumayan buat hiburan, daripada ndengerin >> client ribut mbahas batasan datanya sendiri... wkwkwkwk... lempar bolanya, >> ributlah mereka) >> >> Wassalamu'alaikum wr wb >> Kid >> Sent from my smart enough phone >> >>> On Feb 18, 2018, at 21:22, Zainul Ulum zainul_u...@yahoo.com >>> [belajar-excel] <belajar-excel@yahoogroups.com> wrote: >>> >>> >>> Assalaamu'alaikum Wr. Wb. >>> Dear Be-Excelers, >>> >>> Terlampir adalah class yang berisi code connection ke excel dengan >>> menggunakan connection string adodb. >>> >>> Salah fungsi dalam class tersebut adalah : >>> >>> UpdateRecordFromDimensionalArray >>> input : dimArray As Variant, sTableInDatabase As String, sKeyFld As String, >>> cKey As Integer >>> ouput: TRUE jika berhasil update dan FALSE jika tidak berhasil update >>> >>> Program berjalan dengan baik untuk SQL "INSERT" >>> objConnection.Execute sSQL_INSERT, objRecordset, adCmdText >>> >>> Tetapi tidak berjalan sesuai harapan untuk SQL "DELETE" >>> objConnection.Execute sSQL_DELETE, objRecordset, adCmdText >>> >>> Mohon pencerahannya, >>> Wassalaamu'alaikum Wr. Wb, >>> >>> -zainul >>> >>> <clsDbXls.cls> >> > >