Hehehe…, ya sudah saya doumentasikan saja. Alkisah saya mengedit aplikasi VB6 yang sudah berjalan. Ya…, reportnya (laporannya), ke DataReport. Kendalanya mulai muncul saat harus menampung sebuah field yang mempunyai ukuran karakter lebid dari 30000. Dimana fieldnya diletakkan di section header. Maka yang berhasil untuk dicetak sekitar 3000an karakter saja. Sebenarnya bisa juga sih diakalin dengan menghitung jumlah karakter yang akan dicetak, setelah dihitung maka kita panggil data report sampai n-data report. Namun terlihat nggak elegan hahaha…, Untuk report yang lebih professional sebenarnya dapat menggunakan ActiveReport atau CrystalReports. Hehe tapi bayar,,,
Berikut catatan yang saya dapatkan setelah melakukan sedikit percobaan. Label dapat menampung maksimal sekitar 28.000 karakter. TextBox dapat menampung sekitar 65.535 karakter. Dan RichTextBox sepertinya buanyak deh, saya coba…bisa lebih dari 3.000.000 karakter hehehe… tapi agak lemot loadingnya. Untuk menangani data text yang besar, silahkan gunakan RichTextBox. Untuk mengaktifkannya, silahkan masuk menu Project > Components (C, kemudian check pada bagian Microsoft Rich TextBox Control 6.0 (SP6).
Hidup ini indah…, pilihan ekport data sebenarnya saya punya dua pilihan (maklum taunya baru dua hehe). Pertama ke Microsoft Excel, dimana tutorialnnya pernah saya tulis Disini. Atas alasan kemudahan dan kecepatan, serta kompabilitas OS, maka diputuskan unutuk mengeksport ke format HTML. Yups,,, oke deh. Asumsinya, saya menggunakan VB6, DB Server SQL 2000 (Northwind).
Langkah pertama adalah mendesain tampilan webnya (HTML), silahkan gunakan Dreamweaver, atau Ms Frontpage, atau Notepad++. Silahkan desain sebagus mungkin…, hehehe gunakan jiwa seni Anda. Setelah Anda desain, hasil kodenya, akan dipakai untuk mengeksport data dari VB. Kemudian savelah file HTML ini di folder yang sama dengan project VB.
Langkah kedua adalah mendesain form di VB, saya gunakan sebuah DataGrid dan sebuah CommandButton
Langkah ketiga adalah pengkodeaan pada VB, berikut ini contoh pengkodeaan sederhana :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim result As Long Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( ByVal hWnd As Long , ByVal lpOperation As String , ByVal lpFile As String , ByVal lpParameters As String , ByVal lpDirectory As String , ByVal nShowCmd As Long ) As Long Private Sub Form_Load() 'Sesuaikan dengan kondisi komputer Anda Set cn = New ADODB.Connection cn.CursorLocation = adUseClient cn.Open "Provider=SQLOLEDB; Server=YOGA; Initial Catalog=Northwind; User Id=sa; Password=password" Set rs = New ADODB.Recordset rs.Open "SELECT CompanyName, ContactName, ContactTitle, Address FROM Suppliers" , cn, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs DataGrid1.Refresh End Sub Private Sub Command1_Click() rs.MoveFirst 'Sesuaikan Open App.Path & "\preview.html" For Output As #1 Print #1, "" Print #1, " " Print #1, " Print #1, " " Print #1, " " Print #1, " Print #1, " Suppliers List " Print #1, "
Print #1, " Print #1, " " Print #1, " Print #1, " " Print #1, "" Close #1 result = ShellExecute( Me .hWnd, "Open" , App.Path & "\preview.html" , vbNullString, vbNullString, SW_MAXIMIZE) End Sub |
Langkah keempat, berdoa supaya tidak error hehehe. BTW, intinya sih…, kita membutuhkan sebuah file temporary (html) yang akan menampung kode HTML yang kita generate dari VB. Kemudian, setelah di generate, baru kita open file HTML tersebut dengan fungsi ShellExecute. Selamat mencoba…
Referensi :
Planet Source Code
0 komentar:
Posting Komentar
Please Coment my Blog