1 / 28

BAB 12

BAB 12. TOPIK KHAS : PENGGUNAAN VB DENGAN PERISIAN MICROSOFT YANG LAIN (VBA). Contoh 1: Penggunaan VB untuk memindahkan maklumat dari excel sheet ke access database. Anda mempunyai masalah untuk memindahkan data dari excel kepada access.

masako
Download Presentation

BAB 12

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BAB 12 TOPIK KHAS : PENGGUNAAN VB DENGAN PERISIAN MICROSOFT YANG LAIN (VBA)

  2. Contoh 1: Penggunaan VB untuk memindahkan maklumat dari excel sheet ke access database Anda mempunyai masalah untuk memindahkan data dari excel kepada access. Katakan anda perlu menaip semula 300 data data excel ke dalam access. Sudah tentu mempunyai masalah besar. Bayangkan data tersebut adalah merupakan maklumat pelajar dari segi nama, alamat, cpga, status dan sebagainya. Masa yang diambil untuk menulis semula data tersebut adalah lama dan rumit. VB boleh menyelesaikannya. Bagaimana ?

  3. Dalam contoh ini ditunjukkan bagaimana menulis semula data dalam excel kepada access. 1. Fail excel tersebut dinamakan sebagai data2.xls dan diletakkan dalam direktori c:\projek 2. Fail access yang digunakan dinamakan baru.mdb dan diletakkan dalam direktori c:\projek 3. Anda perlu menggunakan adodc sebagai penghubung antara vb dan access. 4. Dalam hal ini anda semestinya sudah tahu nama field dalam database yang akan digunakan.

  4. Berikut adalah data yang wujud dalam excel

  5. Berikut adalah nama field yang wujud dalam access

  6. Bina satu antaramuka seperti berikut : frmPindahExcel command1 list1 adodcPindahExcel Berikan nama yang sesuai kepada setiap objek

  7. Tuliskan aturcara yang berikut : • Untuk pengishtiharan umum • Option Explicit • Dim excelapp As Excel.Application • Dim excelsht As Excel.Worksheet • Dim excelwkb As Excel.Workbook • Dim kawalrow, kawalcol, i, j as Integer

  8. Tuliskan aturcara yang berikut : 2. Untuk butang clik…dan tulis ke database Private Sub Command2_Click() Set excelapp = New Excel.Application Set excelwkb = excelapp.Workbooks.Open("C:\Projek\data2.xls") Set excelsht = excelwkb.Worksheets("Sheet1") adodcPindahExcel.RecordSource = "select * from tblPelajar" adodcPindahExcel.Refresh kawalrow = 3 kawalcol = 1 For kawalrow = 3 To 11 For kawalcol = 1 To 7 List1.AddItem (excelsht.Cells(kawalrow, kawalcol)) Next Next Sambungan …

  9. Sambung .. kawalrow = 3 i = 1 For kawalrow = 3 To 11 adodcPindahExcel.Recordset.AddNew adodcPindahExcel.Recordset("nama") = excelsht.Cells(kawalrow, i) adodcPindahExcel.Recordset("cgpa") = excelsht.Cells(kawalrow, i + 1) adodcPindahExcel.Recordset("alamat") = excelsht.Cells(kawalrow, i + 2) adodcPindahExcel.Recordset("tinggi") = excelsht.Cells(kawalrow, i + 3) adodcPindahExcel.Recordset("disiplin") = excelsht.Cells(kawalrow, i + 4) adodcPindahExcel.Recordset("fakulti") = excelsht.Cells(kawalrow, i + 5) i = 1 Next

  10. Sambung … excelwkb.Close excelapp.Quit Set excelsht = Nothing Set excelwkb = Nothing Set excelapp = Nothing End Sub

  11. Berikut adalah merupakan larian aturcara tersebut Untuk antaramuka utama frmPindahExcel Detik permulaan Detik selepas butang ditekan

  12. Berikut adalah merupakan larian aturcara tersebut: Untuk hasil yang ditulis dari excel ke dalam access

  13. Contoh 2: Penggunaan VB untuk memaparkan satu histogram untuk bilangan pelajar bagi setiap cgpa yang diperolehi. Contoh yang akan ditunjukkan ini merupakan contoh penggunaan VBA yang sebenar. Butang-butang dalam contoh ini dibina dengan tujuan supaya anda boleh memahami arahan-arahan vb untuk VBA dengan lebih mudah. Data untuk memaparkan histogram tersebut di ambil dari access. Kemudian diletakkan di dalam excel. Dan kemudiannya menggunakan data dalam excel itu untuk menghasilkan histogram tersebut. Sumber contoh ini diperolehi dari internet tetapi telah diubah suai

  14. Bina satu antaramuka seperti berikut : frmExcel Check1 Check2 Check3 Check4 Check6 Check7 Check8 Check9 Check10 Adodc1 Image1 Command1 Command2 Command3 Command4 Command6 Command7 Command8 Command9 Command10 command11

  15. Tuliskan aturcara yang berikut : • Untuk pengishtiharan umum • Option Explicit • Dim ExcelApp As Excel.Application • Dim ExcelCht As Excel.Chart • Dim ExcelSht As Excel.Worksheet • Dim ExcelWkb As Excel.Workbook • Dim MyExcel As Boolean

  16. Tuliskan aturcara yang berikut : 2. Untuk butang Run Excel Private Sub Command1_Click() On Error Resume Next Err.Clear Set ExcelApp = GetObject(, "Excel.Application") If Err.Number <> 0 Then Err.Clear Set ExcelApp = CreateObject("Excel.Application") If Err.Number <> 0 Then MsgBox "Error: " & Err.Description Else MyExcel = True End If Else MyExcel = False End If Check1.Value = vbChecked Command2.SetFocus End Sub

  17. 3. Untuk butang Make Excel Visible Private Sub Command2_Click() ExcelApp.Visible = Not ExcelApp.Visible Check2.Value = vbChecked Command3.SetFocus End Sub 4. Untuk butang Add A Workbook Private Sub Command3_Click() Set ExcelWkb = ExcelApp.Workbooks.Add Set ExcelSht = ExcelWkb.Worksheets(1) Check3.Value = vbChecked Command4.SetFocus End Sub

  18. 5. Untuk butang Populate A Sheet Private Sub Command4_Click() Dim i As Integer Dim j As Integer Dim bil35keatas As Integer Dim bil3keatas As Integer Dim bil25keatas As Integer Dim bil2keatas As Integer Dim bilkurang2 As Integer Adodc1.RecordSource = "select cgpa from maklumatPel" Adodc1.Refresh Sambungan …

  19. Sambung … Do While Adodc1.Recordset.EOF = False If Adodc1.Recordset("cgpa") >= 3.5 And Adodc1.Recordset("cgpa") <= 4# Then bil35keatas = bil35keatas + 1 ElseIf Adodc1.Recordset("cgpa") > 3# And Adodc1.Recordset("cgpa") < 3.5 Then bil3keatas = bil3keatas + 1 ElseIf Adodc1.Recordset("cgpa") >= 2.5 And Adodc1.Recordset("cgpa") <= 3# Then bil25keatas = bil25keatas + 1 ElseIf Adodc1.Recordset("cgpa") >= 2# And Adodc1.Recordset("cgpa") < 2.5 Then bil2keatas = bil2keatas + 1 ElseIf Adodc1.Recordset("cgpa") < 2 Then bilkurang2 = bilkurang2 + 1 End If Adodc1.Recordset.MoveNext Loop Sambungan …

  20. Sambung … i = 1 For i = 1 To 2 For j = 1 To 5 If i = 2 Then If j = 1 Then ExcelSht.Cells(j, i) = bilkurang2 ElseIf j = 2 Then ExcelSht.Cells(j, i) = bil2keatas ElseIf j = 3 Then ExcelSht.Cells(j, i) = bil25keatas ElseIf j = 4 Then ExcelSht.Cells(j, i) = bil3keatas ElseIf j = 5 Then ExcelSht.Cells(j, i) = bil35keatas End If Sambungan …

  21. Sambung … ElseIf i = 1 Then If j = 1 Then ExcelSht.Cells(j, i) = "1.5 ->1.99" ElseIf j = 2 Then ExcelSht.Cells(j, i) = "2.00->2.49" ElseIf j = 3 Then ExcelSht.Cells(j, i) = "2.50->2.99" ElseIf j = 4 Then ExcelSht.Cells(j, i) = "3.00->3.49" ElseIf j = 5 Then ExcelSht.Cells(j, i) = "3.50keatas" End If End If Next j Next i Check4.Value = vbChecked Command6.SetFocus End Sub

  22. 6. Untuk butang Create Chart Private Sub Command6_Click() Set ExcelCht = ExcelWkb.Charts.Add ExcelCht.ApplyDataLabels xlDataLabelsShowLabel ExcelCht.SetSourceData ExcelSht.Range("a1:b5"), xlColumns ExcelCht.HasTitle = True ExcelCht.ChartTitle.Characters.Text = "Bar Chart dari Pangkalan Data" ExcelCht.HasAxis(1, 1) = True ExcelCht.DepthPercent = 300 ExcelCht.BarShape = xlCylinder ExcelCht.SizeWithWindow = True Check6.Value = vbChecked Command7.SetFocus End Sub

  23. 7. Untuk butang Copy Chart Private Sub Command7_Click() ExcelCht.ChartArea.Select ExcelCht.ChartArea.Copy Image1.Picture = Clipboard.GetData(vbCFBitmap) Check7.Value = vbChecked Command8.SetFocus End Sub 8. Untuk butang Save Workbook Private Sub Command8_Click() If Len(Dir(App.Path & "\test.xls")) <> 0 Then Kill App.Path & "\test.xls" End If ExcelWkb.SaveAs App.Path & "\test.xls" Check8.Value = vbChecked Command9.SetFocus End Sub

  24. 9. Untuk butang Close Workbook Private Sub Command9_Click() ExcelWkb.Close False Check9.Value = vbChecked Command10.SetFocus End Sub 10. Untuk butang Quit Excel Private Sub Command10_Click() If MyExcel Then ExcelApp.Quit Set ExcelApp = Nothing MyExcel = False End If Check10.Value = vbChecked Command11.SetFocus End Sub

  25. Berikut adalah merupakan larian aturcara tersebut: Larian aturcara apabila anda menekan empat butang pertama. Dibelakang adalah merupakan fail excel. Pada column B ialah bilangan pelajar yang mendapat cgpa bagi setiap range dalam column A

  26. Apabila butang create chart ditekan, excel akan menghasilkan satu chart di dalam ruang chart area terlebih dahulu.

  27. Apabila butang copy chart ditekan, vb akan menyalin chart dari chart area dalam excel dan kemudiannya akan diletakkan dalam image1 di dalam form tersebut.

  28. Apabila butang close workbook ditekan, vb akan menutup workbook. Jadi pada excel hanya tinggal excel sebab workbook telah ditutup. Tetapi chart tetap berada pada image1.

More Related