Maaf ikun nimbrung,,, saya udah lama ngga aktif di millist ini, mohon pencerahaannya mas Suwanto, saya belum coba cara cetak di vb dengan menggunakan batch file.
mhn info nya kalau d/l di site mana yah, biar ada referensi. saya saat ini mau buat coding untuk pencetakan faktur, dengan menggunakan batch file supaya proses cetak lebih cepat. salam dd++ -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] Behalf Of Suwanto Afiadi Sent: 01-06-2007 04:03 To: [email protected] Subject: Re: [indoprog-vb] Nangkep Temporary Table Dear Folks, Langsung aja, Memang benar dilihat di tabel tempdb, temporary tabel yang kita buat baik melalui coding vb maupun lansung dengan perintah sql tidak akan pernah ada karena dia adalah temporary table. Temporary tabel dapat dibuat dengan cara yang sama dengan jika kita membuat user-defined table, kecuali nama temporary tabel *harus* diawali dengan karakter hash (#). **keberaadaan dari temporary table sangat pendek*. jika batch (kumpulan satu atau lebih T-SQL statement) atau store procedure yang membuat temporary table tersebut berakhir masa operasinya, maka otomatis temporary tersebut akan didelete oleh SQL Server.Jika kamu membuat temporary tabel secara interaktif misal dari Query Analyzer, dia akan tetap hidup selama kamu tidak menutup session di query analyzer tersebut. **Scope dari temporary table juga terbatas, * - Hanya sebuah koneksi (ke SQL Server tentunya) yang membuat temporary table yang dapat melihat temporary tabel tersebut(nanti saya beri contoh codingnya) - Jika banyak user misal dalam aplikasi Client / Server membuat temporary table dengan nama yang sama, maka user tersebut hanya dapat melihat temporary tabel milikya saja (temporary tabel yang dibuat oleh user tersebut saja). - *Temporary Tabel dibuat di tempdb* (secara otomatis oleh SQL Server jika kita create table dengan prefix #, meskipun kamu tidak sedang men- use tempdb).Dibuat dengan kombinasi nama table (diberi nama oleh kita) dan connection identifier (digenerate oleh SQL Server) .Spt kamu tau panjang nama yang dapat diberikan ke sebuah Object di SQL server adalah 128 karakter,tetapi khusus untuk temporary table panjangnya dibatasi hingga 116 char,so remain 12 char itulah yang membuat namanya menjadi unique. Saran saya jika memang mau mengakses isi dari temporary tabel gunakan *Global Temporary Tabel*. Isi dari global temporary tabel dapat diakses oleh aplikasi / koneksi yang tidak membuat Global temporary table tersebut,dengan catatan user / aplikasi yang mencreate Global Temporary Tabel tersebut belum menutup koneksinya.Scopenya lebih luas. Contoh : * Temporary Table Untuk membuat : Create table #ProductTemp ( ProductID int primary key Nama varchar(50) ) * cek di tempdb dan cari di SysObject Select Name from SELECT * FROM sysobjects WHERE (name LIKE '#Pro%') * cek di tempdb dan cari di syscolumns untuk nama fieldnya syscolumns dan sysobjects dihubungkan dengan field Id * Global Temporary Table untuk membuat : Create tabel ##ProductTemp( ProductID int primary key Nama varchar(50) ) *Nama tabel diawali dengan ## *oke.. sekarang coba codingnya ya.. - Coba kamu buat 2 apliksi yang sama persis (atau 1 aplikasi --> exenya dibuka 2 kali). 1. Buat Form, tambahkan 4 button 2 textbox. Button 1 = create tabel temporary Button 2 = tutup tabel temporary Button 3 = tambah produk Button 4 = tampil produk ke 2 buah text untuk menampilkan produk dari temporary tabel Private commd As ADODB.Command Private kon As ADODB.Connection Private rsTemp As ADODB.Recordset Private Sub Form_Load() Set kon = New ADODB.Connection kon.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=;Initial Catalog=Northwind" '--> default Northwind, padahal nantinya tabelnya gak 'create disini tapi di tempdb kon.Open End Sub Private Sub Command3_Click() '= Button 1 Set commd = New ADODB.Command Set rsTemp = New ADODB.Recordset commd.ActiveConnection = kon commd.CommandText = "Create Table #ProductTemp ( ProductID INT PRIMARY KEY, Name varchar(50))" commd.CommandType = adCmdText Set rsTemp = commd.Execute Set rsTemp = Nothing Set commd = Nothing End Sub Private Sub Command4_Click() 'Button 2 Set kon = Nothing End Sub Private Sub Command5_Click() ' = Button 3 Call addProduct End Sub Private Sub Command6_Click() '= Button 4 Call tampilProduct End Sub Private Sub addProduct() If commd Is Nothing Then Set commd = New ADODB.Command End If If rsTemp Is Nothing Then Set rsTemp = New ADODB.Recordset End If commd.ActiveConnection = kon commd.CommandText = "Insert Into #ProductTemp(ProductID,Name) VALUES (0001,'IBM THINKPAD T41')" commd.CommandType = adCmdText Set rsTemp = commd.Execute Set rsTemp = Nothing Set commd = Nothing End Sub Private Sub tampilProduct() If commd Is Nothing Then Set commd = New ADODB.Command End If If rsTemp Is Nothing Then Set rsTemp = New ADODB.Recordset End If commd.ActiveConnection = kon commd.CommandText = "Select * from #ProductTemp" Set rsTemp = commd.Execute Text1.Text = rsTemp(0).Value Text2.Text = rsTemp(1).Value Set rsTemp = Nothing Set commd = Nothing End Sub ============= Oke .. coba dulu dengan temporary table--> akses dengan aplikasi satunya pasti error Invalid Object Name "#ProductTemp' , kemudian coba kamu ganti dengan global temporary tabel, tambahkan ## pada setiap nama tabel di atas misal ... commd.CommandText = "Select * from #ProductTemp" ubah jadi commd.CommandText = "Select * from ##ProductTemp" dan coba tampilkan dengan aplikasi yang tidak membuat temporary tabel tersebut. oke, semoga membantu. Wassalamualaikum Afiadi S13RA gus wrote: > > Masalahnya gini loh, sy bikin local temporary table yang di create via > coding sekaligus insert data dari koding juga, as we know local > temporary table kan > ngak nampil di list tabel > database karena sifatnya yang temporer, kalo koneksi kita sudah > diputus maka SQL Server secara otomatis akan men drop tabel temporary > tersebut. Gw baca di Bokk Online katanya temporary tabel disimpen di > database tempdb(bawaan SQL Server), tapi gw lihat ngak ada. > > Yang jadi masalah adalah bagaimana kita melihat isi temporary tabel > tersebut sebelum si sql server men drop tabelnya ? Trus dimana > sebenarnya lokasi temporary tbel tersebut ? > > Terimakasih atas bantuannya. > > Thursday, May 31, 2007, 11:26:49 AM, you wrote: > > > hihihi saya juga ga jelas sih.. > > > > tapi maksut Mas Gus itu mungkin gini .. > > Mas Gus ini punya tabel, sebut Tabel Pegawai .. > > Mas Gus ini mungkin mo tau query apa aja yg udah dilakuin ke Tabel > Pegawai > > (mo UPD, DEL, INS, SEL dll) .. bukan begitu Mas Gus? > > > > klo gitu sih yaa bikin lagi aja tabel lagi, misalnya Tabel QPegawai .. > > isinya cukup 1 field tipe string/long text > > jadi tiap bikin query ke tabel Pegawai, masukin query tsb ke tabel > QPegawai > > misal : > > Mas Gun mo liat pegawai dgn NIP 3201 > > pastikan pake SELECT * FROM Pegawai WHERE NIP=3201 > > naaah di bawahnya eksekusi aja INSERT INTO QPegawai VALUES ('SELECT > * FROM > > Pegawai WHERE NIP=3201') > > begitu .. > > > > BTW.. maksutnya temporary tabel itu apa yak? > > CMIIW, maaf saya awam ;) > > > > On 5/31/07, Toni Rahayu <[EMAIL PROTECTED] > <mailto:toni.rahayu%40gmail.com>> wrote: > >> > >> > >> > >> Saya bingung mas, > >> yang dimaksud itu ngecek query atau ngecek data yang masuk ????? > >> > >> rgds > >> > >> "Akhmad Aldi" <[EMAIL PROTECTED] <mailto:aldi141081%40gmail.com> > <aldi141081%40gmail.com>> on > >> 05/31/2007 02:09:23 AM > >> > >> Please respond to [email protected] > <mailto:indoprog-vb%40yahoogroups.com><indoprog-vb%40yahoogroups.com> > >> > >> To: [email protected] > <mailto:indoprog-vb%40yahoogroups.com> <indoprog-vb%40yahoogroups.com> > >> cc: (bcc: Toni Rahayu/IT/domino_srv) > >> > >> Subject: Re: [indoprog-vb] Nangkep Temporary Table > >> > >> bikin tabel lagi, utk nampung smua query ke tabel itu ;) > >> > >> klo pake AS400 sih ada sistem JOURNAL ... > >> > >> On 5/30/07, gus <[EMAIL PROTECTED] > <mailto:penakluk82%40yahoo.com.au> <penakluk82%40yahoo.com.au>> > >> wrote: > >> > > >> > > >> > > >> > Halo teman2, > >> > > >> > Gw bikin local teporary table, trus dimasukan beberapa data. > >> > Masalahnya gimana caranya kita ngecek(query) apa saja data yang telah > >> > masuk kedalam tabel temporary tersebut ? > >> > > >> > Terimakasih atas pencerahannya > >> > > > [Non-text portions of this message have been removed]
