sama-sama pak, oh iya kalau untuk me replace tanda petik(") gimana ya, karena fungsi replace tidak ada di jet SQL
Pada tanggal 05/07/11, Mr. Kid <mr.nm...@gmail.com> menulis: > Betul pak, dan sudah diperbaiki. > Deretnya selalu + 4 karakter > jadi yang benar adalah 1,5,9,13,17 > bukan 1,5,9,14,19 > > Terimakasih atas koreksinya. > > Wassalam. > Kid. > > > 2011/7/5 him mah <himmah....@gmail.com> > >> ** >> >> >> sudah ketemu pak, salahnya ternyata ada disini >> >> +Mid(krAmo,14,3) harusnya +Mid(krAmo,13,3) >> >> >> Pada tanggal 04/07/11, him mah <himmah....@gmail.com> menulis: >> > maaf ternyata ada yang masih kurang pak, >> > >> > ketika numbernya diatas 1 milyar maka hasil konversinya lebih kecil dari >> > itu >> > >> > 1,385,315,635 hasilnya 138,531,535 >> > 3,500,834,000 hasilnya 350,083,400 >> > 1,656,391,562 hasilnya 165,639,162 >> > 1,797,264,000 hasilnya 179,726,400 >> > >> > rumus SQL nya >> > >> > SELECT RECNO,INVNO,CUSTID,DUE_DATE AS DUEDATE,INVDATE >> > ,( >> > Left(krAmo,3) >> > +Mid(krAmo,5,3) >> > +Mid(krAmo,9,3) >> > +Mid(krAmo,14,3) >> > +Mid(krAmo,19,3) >> > +desi >> > +knAmo >> > ) * 1 AS AMOUNT >> > FROM ( >> > SELECT RECNO,INVNO,CUSTID,INVDATE >> > ,IIf(1*'1,000'=1,',','.') AS desi >> > ,String(4 - Instr( Left(AMOUNT,Instr(AMOUNT+'.','.')-1) +',' , ',' ) , >> '0' ) >> > + >> > Left(AMOUNT,Instr(AMOUNT+'.','.')-1) AS krAmo >> > ,Mid(AMOUNT,Instr(AMOUNT+'.','.')+1,9)+'0' AS knAmo >> > ,CDate(Right(DUEDATE,4)+'-'+Mid(DUEDATE,3,2)+'-'+Left(DUEDATE,2)) AS >> > DUE_DATE >> > FROM bln06#txt >> > WHERE NOT(INVDATE IS NULL) >> > ) AS dt1 >> > >> > >> > >> > >> > >> > >> > Pada tanggal 04/07/11, him mah <himmah....@gmail.com> menulis: >> >> posting yang ke 36 (kalau pakai gmail) untuk topik ini >> >> >> >> Alhamdulillah pertanyaan saya sudah terselesaikan semua, terima kasih >> >> buat semuanya terutama buat Pak KID >> >> >> >> tentang topik ini bisa dibaca lengkap diblognya pak Kid >> >> >> >> >> http://excel-mr-kid.blogspot.com/2011/07/koneksi-data-ke-text-file-01.html >> >> >> >> Pada tanggal 04/07/11, Mr. Kid <mr.nm...@gmail.com> menulis: >> >>> IMO, >> >>> Tidak ada bedanya >> >>> >> >>> Kid. >> >>> >> >>> 2011/7/4 him mah <himmah....@gmail.com> >> >>> >> >>>> ** >> >>>> >> >>>> >> >>>> satu lagi pak >> >>>> kira bedanya antara (apakah berpengaruh pada kecepatan) >> >>>> >> >>>> WHERE NOT(INVDATE IS NULL) >> >>>> dengan >> >>>> WHERE (INVDATE IS NOT NULL) >> >>>> >> >>>> >> >>>> Pada tanggal 04/07/11, Mr. Kid <mr.nm...@gmail.com> menulis: >> >>>> >>> Susunan table excel >> >>>> > Betul pak, ubah kolom di excelnya harus dipindah sendiri. >> >>>> > >> >>>> > koneksi pertama dengan query yang menghasilkan susunan table excel >> >>>> > InvNo >> >>>> || >> >>>> > CustId || AccID || DueDate >> >>>> > >> >>>> > kemudian dilain waktu diubah querynya menjadi : >> >>>> > select InvNo, DueDate, AccId, CustId from bln06#txt >> >>>> > >> >>>> > maka susunan di table excel adalah : >> >>>> > InvNo || CustId || AccID || DueDate >> >>>> > >> >>>> > Ketika diubah querynya menjadi : >> >>>> > select InvNo, DueDate, *Amount*, CustId from bln06#txt >> >>>> > >> >>>> > maka susunan di table excel adalah : >> >>>> > InvNo || CustId || DueDate || *Amount* >> >>>> > >> >>>> >>> koneksi dinamis. >> >>>> > Dengan VBA bisa (biasanya VBA gak bisa kalo diminta bikin kopi) >> >>>> > Tentu dengan bantuan user untuk menunjukkan dimana foldernya >> >>>> > sekarang. >> >>>> > >> >>>> > Akan lebih baik lagi jika file txt ada di satu komputer yang tetap >> >>>> > dan >> >>>> nama >> >>>> > foldernya tetap >> >>>> > >> >>>> > Kid. >> >>>> > >> >>>> > >> >>>> > 2011/7/4 him mah <himmah....@gmail.com> >> >>>> > >> >>>> >> ** >> >>>> >> >> >>>> >> >> >>>> >> jadi kesimpulannya ngga bisa diubah lagi walau di sqlnya sudah >> >>>> >> berubah. >> >>>> >> >> >>>> >> oh iya ada lagi pak, >> >>>> >> untuk connection datasource nya ngga bisa dibuat dinamis (mungkin >> >>>> >> pakai >> >>>> >> macro) >> >>>> >> >> >>>> >> Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data >> >>>> >> Source=C:\thn2011 >> >>>> >> >> >>>> >> misal disesuaikan dengan letak foldernya (ketika folder thn2011 di >> >>>> >> copy di c:\aku\thn2011) maka connectionnya ikut berubah >> >>>> >> Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data >> >>>> >> Source=C:\aku\thn2011 >> >>>> >> >> >>>> >> >> >>>> >> Pada tanggal 04/07/11, Mr. Kid <mr.nm...@gmail.com> menulis: >> >>>> >> > hehehe... sebenarnya di excel untuk kegiatan koneksi data, akan >> >>>> terbuat >> >>>> >> > 2 >> >>>> >> > object output >> >>>> >> > 1. object recordset hasil data connection yang menyimpan output >> >>>> >> > dengan >> >>>> >> > susunan persis seperti query >> >>>> >> > 2. object list (di xl2003) atau object table (xl2007) yang >> >>>> >> > menyimpan >> >>>> >> susunan >> >>>> >> > dan seluruh bentuk range output. >> >>>> >> > >> >>>> >> > Object nomor 1 jelas, asalnya dari koneksi data >> >>>> >> > object nomor 2 bisa dari mana saja. >> >>>> >> > >> >>>> >> > Intinya, yang tampak di excel adalah object nomor 2 >> >>>> >> > Urutannya murni hasil pengaturan user >> >>>> >> > jika kali pertama dibuat, object table isinya kolom no,nip,nama >> >>>> >> > maka ketika ditambah kolom alamat, alamat akan ada di kanan >> >>>> >> > sendiri >> >>>> >> karena >> >>>> >> > belum pernah terdefinisi sebelumnya. >> >>>> >> > >> >>>> >> > Kid. >> >>>> >> > >> >>>> >> > 2011/7/4 him mah <himmah....@gmail.com> >> >>>> >> > >> >>>> >> >> ** >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> satu lagi pak >> >>>> >> >> >> >>>> >> >> misal di table excel itu >> >>>> >> >> header awalnya >> >>>> >> >> >> >>>> >> >> InvNo || CustId || AccID || DueDate >> >>>> >> >> >> >>>> >> >> terus SQLnya saya rubah seperti ini >> >>>> >> >> >> >>>> >> >> select InvNo, DueDate, AccId, CustId from bln06#txt >> >>>> >> >> >> >>>> >> >> hasilnya, headernya tetap ngga berubah >> >>>> >> >> >> >>>> >> >> InvNo || CustId || AccID || DueDate >> >>>> >> >> >> >>>> >> >> bukan (sesuai urutan yang ada di SQL) >> >>>> >> >> >> >>>> >> >> InvNo || DueDate || AccId || CustId >> >>>> >> >> >> >>>> >> >> Pada tanggal 04/07/11, Mr. Kid <mr.nm...@gmail.com> menulis: >> >>>> >> >> >> >>>> >> >> > Oh iya, betul. Untuk koneksi excel ke text file yang >> >>>> >> >> > memanfaatkan >> >>>> >> >> > schema.ini, extended properties cukup Text >> >>>> >> >> > Seluruh properti tentang ada header atau tidak, delimiternya >> >>>> >> >> > apa, >> >>>> >> >> dijabarkan >> >>>> >> >> > di schema.ini >> >>>> >> >> > >> >>>> >> >> > Makasih sudah mengingatkan. >> >>>> >> >> > >> >>>> >> >> > Kid. >> >>>> >> >> > >> >>>> >> >> > 2011/7/4 him mah <himmah....@gmail.com> >> >>>> >> >> > >> >>>> >> >> >> ** >> >>>> >> >> >> >> >>>> >> >> >> >> >>>> >> >> >> pak saya ngga tahu mungkin masalahnya ada disini, setelah >> saya >> >>>> >> banding >> >>>> >> >> >> kan conectionnya (edit query) >> >>>> >> >> >> >> >>>> >> >> >> kalau punya pak kid (Extended Properties=Text;) >> >>>> >> >> >> kalau punya saya (Extended >> >>>> Properties="Text;HDR=YES;FMT=Delimited") >> >>>> >> >> >> kemudian saya ganti seperti punya pak kid, SQL nya baru bisa >> >>>> >> >> >> berhasil >> >>>> >> >> >> (padahal sqlnya sama) >> >>>> >> >> >> >> >>>> >> >> >> Pada tanggal 03/07/11, him mah <himmah....@gmail.com> >> menulis: >> >>>> >> >> >> >> >>>> >> >> >> > punya saya koq masih tetep, yang di cek itu type yang >> >>>> >> >> >> > sebelah >> >>>> mana >> >>>> >> >> >> > pak >> >>>> >> >> >> > >> >>>> >> >> >> > Pada tanggal 03/07/11, Mr. Kid <mr.nm...@gmail.com> >> menulis: >> >>>> >> >> >> >> cek ulang typo pak him mah >> >>>> >> >> >> >> >> >>>> >> >> >> >> Ini contoh hasilnya (nilai amount mungkin udah beda, >> tetapi >> >>>> >> struktur >> >>>> >> >> >> >> tetap >> >>>> >> >> >> >> sama) >> >>>> >> >> >> >> [image: txt2xl_w_agregate_join_query.gif] >> >>>> >> >> >> >> >> >>>> >> >> >> >> >> >>>> >> >> >> >> Kid. >> >>>> >> >> >> >> >> >>>> >> >> >> >> Pada tanggal 03/07/11, Mr. Kid <mr.nm...@gmail.com> >> >>>> >> >> >> >> menulis: >> >>>> >> >> >> >>> > Jadi, schema.ini ada 2 blok, seperti ini : >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> > [bln06.txt] >> >>>> >> >> >> >>> > bla-bla disini >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> > [kdInv.txt] >> >>>> >> >> >> >>> > Format=TabDelimited >> >>>> >> >> >> >>> > col1=InvNo char width 17 >> >>>> >> >> >> >>> > col2=CustId char width 3 >> >>>> >> >> >> >>> > col3=Wil char width 17 >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> > Koneksi di excel dengan query : >> >>>> >> >> >> >>> > select *kdInv**.*wil, sum(*bln06.*Amount) as jumlah >> from >> >>>> >> >> >> >>> > bln06#txt >> >>>> >> >> >> *as >> >>>> >> >> >> >>> bln06 >> >>>> >> >> >> >>> > * LEFT JOINT >> >>>> >> >> >> >>> > kdInv#txt * as kdInv* ON bln06.InvNo = kdInv.InvNo >> GROUP >> >>>> >> >> >> >>> > BY >> >>>> >> >> >> >>> > *kdInv**.*WIL >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> > Mungkin demikian. >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> > Kid. >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> > 2011/7/4 him mah <himmah....@gmail.com> >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> >> ** >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> ini pak sqlnya >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> select wil, sum(Amount) as jumlah from bln06#txt LEFT >> >>>> >> >> >> >>> >> JOINT >> >>>> >> >> >> >>> >> kdInv#txt ON bln06.InvNo = kdInv.InvNo GROUP BY WIL >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> schema.ini saya tambahkan >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> [kdInv.txt] >> >>>> >> >> >> >>> >> Format=TabDelimited >> >>>> >> >> >> >>> >> col1=InvNo char width 17 >> >>>> >> >> >> >>> >> col2=CustId char width 3 >> >>>> >> >> >> >>> >> col3=Wil char width 17 >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> saya lampirkan file kdinv dan shema nya >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> Pada tanggal 03/07/11, Mr. Kid <mr.nm...@gmail.com> >> >>>> menulis: >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> > Bisa disalinkan query joinnya ? >> >>>> >> >> >> >>> >> > untuk join multiple tables dengan data provider jet >> 4 >> >>>> atau >> >>>> >> txt >> >>>> >> >> >> >>> >> > driver, >> >>>> >> >> >> >>> >> > sepertinya bisa jika jenis joinnya sama. Yang >> umumnya >> >>>> bisa >> >>>> >> >> adalah >> >>>> >> >> >> >>> inner >> >>>> >> >> >> >>> >> join >> >>>> >> >> >> >>> >> > multiple tables. >> >>>> >> >> >> >>> >> > untuk join multiple tables dengan jenis join >> >>>> >> >> >> >>> >> > bercampur, >> >>>> >> lebih >> >>>> >> >> >> >>> >> > sering >> >>>> >> >> >> >>> gak >> >>>> >> >> >> >>> >> > bisanya, kecuali jika join dilakukan dengan dataset >> >>>> >> >> >> >>> >> > hasil >> >>>> >> >> >> >>> >> > join. >> >>>> >> >> >> >>> >> > >> >>>> >> >> >> >>> >> > Left join, right join, inner join yang tunggal, >> >>>> >> >> >> >>> >> > semuanya >> >>>> >> bisa. >> >>>> >> >> >> >>> >> > >> >>>> >> >> >> >>> >> > Pesan it is already opened exclusivele by another >> >>>> >> >> >> >>> >> > user, >> >>>> >> >> >> >>> >> > berarti >> >>>> >> >> >> >>> >> > file >> >>>> >> >> >> >>> >> sedang >> >>>> >> >> >> >>> >> > dibuka oleh user lain atau aplikasi lain. File yang >> >>>> >> >> >> >>> >> > open >> >>>> >> >> >> >>> >> > exclusive >> >>>> >> >> >> >>> tidak >> >>>> >> >> >> >>> >> > bisa dipakai oleh banyak user. >> >>>> >> >> >> >>> >> > >> >>>> >> >> >> >>> >> > Kid. >> >>>> >> >> >> >>> >> > >> >>>> >> >> >> >>> >> > 2011/7/1 him mah <himmah....@gmail.com> >> >>>> >> >> >> >>> >> > >> >>>> >> >> >> >>> >> >> ** >> >>>> >> >> >> >>> >> >> >> >>>> >> >> >> >>> >> >> >> >>>> >> >> >> >>> >> >> untuk SQL nya kalau pakai LEFT JOIN koq ngga bisa >> ya >> >>>> >> >> >> >>> >> >> muncul pesan >> >>>> >> >> >> >>> >> >> it is already opened exclusivele by another >> user,... >> >>>> >> >> >> >>> >> >> >> >>>> >> >> >> >>> >> >> >> >>>> >> >> >> >>> >> >> >> >>>> >> >> >> >>> >> > >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> >> >> >>>> >> >> >> >>> > >> >>>> >> >> >> >>> >> >>>> >> >> >> >>> >> >>>> >> >> >> >>> >> >>>> >> >> >> >> >> >>>> >> >> >> > >> >>>> >> >> >> >> >>>> >> >> >> >> >>>> >> >> >> >> >>>> >> >> > >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> > >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> > >> >>>> >> >>>> >> >>>> >> >>> >> >> >> > >> >> >> >