Pada kesempatan
sebelumnya saya sudah pernah membahas paging memakai database MS Access dan MsFlexgrid untuk menampilkan datanya.
Pada kesempatan ini saya akan membuat paging menggunakan database MySQL dan masih memakai komponen MsFelxgrid. Jika anda menginginkan memakai komponen Listview tinggal disesuikan cara menampilkan datanya saja yang lainnya sama.
Lalu bagaimana cara Membuat Paging Pada MsFlexgrid Dengan Database MySQL di VB6?
Buka visual basic 6 lalu desain sebuah form tambahkan komponen MsFelxgrid, commad button, textbox dan frame untuk lebih jelasnya lihat gambar berikut ini
Tampilkan Gambar
Jika sudah mendesain jangan lupa tambahkan references, Klik menu project pilih references cari dan centang "Microsoft ActiveX Data Object 2.8 Library" jika sudah lalu tekan tombol OK.
Setelah itu tambahkan sebuah modul dengan cara klik menu Project pilih Add Modul kemudian ketikan kode berikut ini didalam modul tersebut. Koding dibawah ini digunakan untuk menghubungkan vb6 dengan database MySQL Server
Option Explicit
Public Conn As New ADODB.Connection
Public Sub KonekDB()
Set Conn = New ADODB.Connection
Conn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;DSN=CobaPaging;"
Conn.Open
Conn.CursorLocation = adUseClient
End Sub
Catatan:
Dalam menghubungkan vb6 dengan database MySQL Server dalam tutorial ini saya memakai DSN (Data Source Name) yang saya beri nama CobaPaging. Jika anda belum bisa membuat DSN silahkan buka link
tutorial cara membuat DSN .
Jika sudah kembali ke form lalu ketikan koding berikut ini pada bagian yang paling atas (General Declaration)
Option Explicit
Dim Baris As Integer
Dim Hal As Integer ' variable untuk menampung halaman
Dim TotHal As Integer ' variabel untuk menampugn total halaman
Dim A As String
Dim x As Double 'untk menampilkan record dimulai dr record ke x
Dim y As Double 'variabel untuk menampung jumlah data perhalaman
Dim i As Double
Dim RsMhs As New ADODB.Recordset
'Mengatur tampilan MsFelxGrid
Sub AktifGrid()
MSFlexGrid.Clear
MSFlexGrid.Rows = 2
MSFlexGrid.Cols = 5
'---------------
MSFlexGrid.Col = 0
MSFlexGrid.Row = 0
MSFlexGrid.Text = "NO"
MSFlexGrid.CellFontBold = True
MSFlexGrid.ColWidth(0) = 500
MSFlexGrid.AllowUserResizing = flexResizeColumns
'
MSFlexGrid.Col = 1
MSFlexGrid.Row = 0
MSFlexGrid.Text = "NIM"
MSFlexGrid.CellFontBold = True
MSFlexGrid.ColWidth(1) = 700
MSFlexGrid.AllowUserResizing = flexResizeColumns
'
MSFlexGrid.Col = 2
MSFlexGrid.Row = 0
MSFlexGrid.Text = "NAMA MAHASISWA"
MSFlexGrid.CellFontBold = True
MSFlexGrid.ColWidth(2) = 2000
MSFlexGrid.AllowUserResizing = flexResizeColumns
'
MSFlexGrid.Col = 3
MSFlexGrid.Row = 0
MSFlexGrid.Text = "ALAMAT"
MSFlexGrid.CellFontBold = True
MSFlexGrid.ColWidth(3) = 2000
MSFlexGrid.AllowUserResizing = flexResizeColumns
'
MSFlexGrid.Col = 4
MSFlexGrid.Row = 0
MSFlexGrid.Text = "JURUSAN"
MSFlexGrid.CellFontBold = True
MSFlexGrid.ColWidth(4) = 2300
MSFlexGrid.AllowUserResizing = flexResizeColumns
End Sub
'Menampilkan Data Ke MsFlexGrid
Sub TampilGrid()
Call AktifGrid
Baris = 0
If RsMhs.EOF Then
Exit Sub
Else
With RsMhs
.MoveFirst
Do Until .EOF
Baris = Baris + 1
MSFlexGrid.Rows = Baris + 1
MSFlexGrid.TextMatrix(Baris, 0) = Baris
MSFlexGrid.TextMatrix(Baris, 1) = !NIm
MSFlexGrid.TextMatrix(Baris, 2) = !nama
MSFlexGrid.TextMatrix(Baris, 3) = !alamat
MSFlexGrid.TextMatrix(Baris, 4) = !Jurusan
.MoveNext
Loop
End With
End If
End Sub
Sub TampilanAwal()
x = 0
y = 10
A = x & "," & y
Hal = 1
'Menampilkan Data ke Grid
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT NIM,NAMA,ALAMAT,JURUSAN FROM Tbl_Mahasiswa LIMIT " & A, _
Conn, adOpenForwardOnly, adLockReadOnly
Call TampilGrid
'Menentukan Jml Halaman
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT NIM FROM Tbl_Mahasiswa", Conn, adOpenForwardOnly, adLockReadOnly
i = RsMhs.RecordCount / y
TotHal = Int(i) + IIf(CDbl(CStr(i - Int(i))) > 0.1, 1, 0)
If TotHal = 0 Then TotHal = 1
txtHal.Text = "Page " & Hal & " of " & TotHal & " Pages"
End Sub
Jika sudah ketikan koding berikut ini pada Form Load
Private Sub Form_Load()
Call KonekDB
Call TampilanAwal
End Sub
Kemudian ketikan kodinng berikut ini pada tombol cmdFirst, yang berfungsi untuk menampilkan data pada halaman pertama
Private Sub cmdFirst_Click()
x = 0
y = y
A = x & "," & y
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT * FROM Tbl_Mahasiswa LIMIT " & A, Conn, adOpenForwardOnly, adLockReadOnly
Call TampilGrid
Hal = 1
txtHal.Text = "Page " & Hal & " of " & TotHal & " Pages"
End Sub
Jika sudah ketikan lagi koding berikut pada tombol cmdPrevious, yang berfungsi untuk menampilkan data pada halaman sebelumnya
Private Sub cmdPrevious_Click()
If Hal = 1 Then
MsgBox "Ini sudah sampai pada halaman pertama..!", vbCritical, ".:: Informasi "
Exit Sub
Else
x = x - y
y = y
A = x & "," & y
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT * FROM Tbl_Mahasiswa LIMIT " & A, Conn, adOpenForwardOnly, adLockReadOnly
Call TampilGrid
Hal = Hal - 1
txtHal.Text = "Page " & Hal & " of " & TotHal & " Pages"
End If
End Sub
Lalu ketikan lagi koding berikut ini pada tombol cmdNext, yang berfungsi menampilkan data pada halaman berikutnya
Private Sub cmdNext_Click()
If Hal = TotHal Then
MsgBox "Sudah sampai pada halaman terakhir !", vbCritical, ".:: Informasi "
Exit Sub
Else
x = x + y
y = y
A = x & "," & y
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT * FROM Tbl_Mahasiswa LIMIT " & A, Conn, adOpenForwardOnly, adLockReadOnly
Call TampilGrid
Hal = Hal + 1
txtHal.Text = "Page " & Hal & " of " & TotHal & " Pages"
End If
End Sub
Kemudian ketikan lagi koding pada tombol cmdLast, yang berfungsi menampilkan data pada halaman terakhir
Private Sub CmdLast_Click()
x = (TotHal - 1) * y
y = y
A = x & "," & y
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT * FROM Tbl_Mahasiswa LIMIT " & A, Conn, adOpenForwardOnly, adLockReadOnly
Call TampilGrid
Hal = TotHal
txtHal.Text = "Page " & Hal & " of " & TotHal & " Pages"
End Sub
Kemudian ketikan lagi koding berikut ini pada txtCari pada event Change, yang berguna untuk menampikan data pencarian sesuai dengan keyword yang diketikan pada textbox tersebut
Private Sub txtCari_Change()
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT * FROM Tbl_Mahasiswa WHERE NAMA LIKE '%" & txtCari.Text & "%' LIMIT 0,10", _
Conn, adOpenForwardOnly, adLockReadOnly
Call TampilGrid
End Sub
Yang terakhir ketikan koding berikut ini pada tombol cmdRefresh
Private Sub cmdRefresh_Click()
Call TampilanAwal
End Sub
Kemudian simpan projectnya supaya tidak di gondol maling hehehehe :), jika sudah simpan, silahkan di run. Selesai
Demikian tutorial dari saya semoga dapat menambah ilmu kita dan bermanfaat. amien. Jika anda menginginkan source codenya silahkan download source codenya pada link dibawah ini.
Dalam source code tersebut sudah saya sertakan database hasil dari ekspor an database saya silahkan di impor supaya bisa mencoba source code tersebut jangan lupa membuat DSN nya. Sebelum melakukan impor buatlah database kosong dengan nama db_akademik baru lakukanlah impor database. Jika anda belum bisa eksport import database silahkan buka
link ini .
Download Source Code :
VIDEO
Tags:
Cara Membuat Paging, Tutorial Membuat Paging, Mengatasi load data banyak supaya tidak lemot/berat/lamban, Mempercepat load data pada grid, cara membuat halaman pada grid, membuat halaman pada msflexgrid, source code paging, download source code paging, Membuat Paging di vb6, Cara melakukan Paging, Cara Membuat Paging Data, Paging Data Dengan Visual Basic 6, Tutuorial membuat paging, Bagaimana caranya melakukan paging
Belum ada tanggapan untuk "Membuat Paging Pada MsFlexgrid Dengan Database MySQL di VB6"
Post a Comment