untuk penggunaan fungsi PrintLangsung, dibutuhkan penguasaan pada library DAO, dan open/read file (dalam hal ini file di arahkan ke port printer lpt1).
kode yang anda tanyakan adalah penggunaan library DAO. Penjelasannya tidak singkat, tetapi anda bisa mempelajari-nya secara mendalam dari help access. cukup sorot saja misalnya di line
set dbs = currentdb
anda sorot currentdb, tekan f1, maka access akan membawa anda ke topik currentdb, lengkap dengan contoh penggunaannya. jawaban instan, dibanding jika menunggu dari milis. :)
dbs dan recordset di sini berpasangan. dari file yang dikirimkan, anda hendak mengeprint qtransaksi, maka anda bisa buka query ini dalam recordset. pilihan snapshot, dynaset, dll bisa anda peroleh dari help access, lebih lengkap.
dim dbs as dao.database
set dbs = currentdb
artinya kita siapkan satu variabel obyek database yang akan mewakili mdb yang sekarang kita pakai, yaitu dengan mengesetnya menunjuk ke currentdb.
dim rs as dao.recordset
set rs = dbs.openrecordset ("Qtransaksi",dbopensnapshot)
artinya kita siapkan satu variabel bertipe obyek recordset, yang selanjutnya kita isi dengan record2 dari query Qtransaksi. sifatnya snapshot, read only dan tidak update.
setelah rs berhasil di isi dengan record dari qtransaksi, maka untuk mengambil isinya baris per baris dilakukan dengan melakukan perulangan dari baris awal hingga baris akhir:
do while not rs.eof
debug.print rs("tanggal_transaksi"), rs("nama_pelanggan"), rs("nama_barang")
rs.movenext
loop
perintah di atas dimaksudkan mulai membaca isi rs selama belum sampai ke end of file (eof). setiap pembacaan baris, langsung di tuliskan ke debug window. dan rs.movenext untuk memerintahkan rs berpindah ke baris berikutnya.
aksan kurdin
On 10/8/2010 10:23 AM, Cecep W wrote:
Dengan mau memberikan kailnya saja saya sangat berterimakasih mas.berikut yg saya tidak faham dengan yg ada "bla...bla...bla", harus diisi apa?"dbOpenSnapshot" apa harus begitu ato diganti?Bisa dijelaskan yg no 2? ini looping tapi saya tidak memahaminya.1. Set rst = dbs.OpenRecordset("bla..bla..bla", dbOpenSnapshot)
2. Do While Not rst.EOF
regardsCW
Pada 8 Oktober 2010 10.07, aksankurdin <aksan.kurdin@gmail.com> menulis:
bukannya gak mau, tapi saya mau kasih kailnya aja, bukan ikan.
ayo sama2 kita bongkar kodenya. coba bagian mana yang mengerti dan bagian mana yang tidak mengerti. kalau bisanya dari proses, bekasnya dalam, tapi kalau bisanya karena instan, cepat lupanya.
aksan kurdin> Pada 8 Oktober 2010 09.34, Aksan Kurdin <aksan.kurdin@...> menulis:
--- In belajar-access@yahoogroups.com, Cecep W <cepwahyu@...> wrote:
>
> Nah itu dia masalahnya Mas...saya faham sebagian dan sebagian lagi tidak
> begitu faham...maklum saja tidak ada basic programmer, saya belajar VBA dari
> para master di milis ini dan alhamdulillah semakin hari semakin bertambah
> ilmunya.
> karena di Coding ini ada Bla..bla...bla-nya dan dst..dst saya tidak
> begitu faham harus diisi apa. kalo Mas Aksan Berkenan sudilah
> kiranyanya memandu
> langsung menerapkan coding ini di sampel Database yg saya lampirkan. Syukur2
> bisa menjelaskan maksud dari setiap baris perintah itu. terus terang saya
> masih meraba-raba cara penerapan Looping.
>
> Regards
> CW
>
>
> >
> >
> > Menerapkannya mudah saja, fungsi seperti ini tinggal di taruh di event
> > click suatu command prompt, tentu saja dengan modifikasi sesuai kebutuhan.
> > Tapi sebelumnya, biar tidak kopi paste saja, kang cecep paham kan dengan
> > maksud setiap baris perintah di kode tersebut ?
> >
> >
> > aksan kurdin
> >
> >
> >
> > On 10/8/2010 8:17 AM, Cecep W wrote:
> >
> >
> > Dear Pakar Access semua
> > saat ini saya sedang belajar membuat program kasir,
> > ada satu masalah yg belum saya fahami yaitu masalah print langsung ke
> > kertas roll, sebenarnya saya sudah nemu codingnya di milis ini namun saya
> > masih bingung menerapkanya.
> > Coding-nya sbb:
> > Function PrintLangsung()
> > Dim dbs As Database
> > Dim rst As Recordset
> > Dim NoTrans As String
> >
> > 'buka dulu tabel-tabel yg berhubungan dengan form Kasir
> > Set dbs = CurrentDb()
> > Set rst = dbs.OpenRecordset("bla..bla..bla", dbOpenSnapshot)
> >
> > With rst
> > NoTrans = rst!NoTransaksi
> >
> > 'kemudian lain-lainnya sama, yaitu buka dulu LPT1nya
> > Open "LPT1" For Output As #1
> > Print #1, " XXX SWALAYAN "
> > Print #1, NoTrans & " " & Date & Time
> > 'ini untuk detail transaksinya
> > .MoveFirst
> > Do While Not rst.EOF
> > Print #1, rst!NamaBarang
> > Print #1, rst!Quantity & "x " &
> > Format(rst!HargaJual,"#,###") & " " & Format(rst!
> > Total, "#,###")
> > .MoveNext
> > Loop
> > 'dst dst dst
> >
> > sudilah kiranya mengajarkan bagaimana penerapannya.
> > berikut saya lampirkan contoh file-nya.
> >
> > Saya memakai printer Epson LQ-2180
> >
> > Regards
> > CW
> >
> >
> >
> >
> >
>
__._,_.___
No comments:
Post a Comment