Selasa, 31 Januari 2012

MS Access to MySQL Database Converter

Conversion of database with manual migration effort on a large scale is very slow and tedious tasks. Based on my own experience, I tried to write a program to convert Access databases into MySQL with Visual Basic.

This program was able to convert an Access database 2003 (*.mdb) or 2007 (*.accdb), including all tables and the item records. But still limited to few data type such as text, integer and date.



you can download for free here, or write an email to cool_ramdan@yahoo.com if you want the source code.

please leave a comment and let me know if the program is running well..

Ps: I use vbMySqlDirect for mySQL connection and Microsoft.ACE.OLEDB.12.0 for Access Driver

Kamis, 08 Desember 2011

Menampilkan Data dari MySQL ke MsFlexGrid

masih berhubungan dengan MySQL seperti yang sudah saya bahas sebelumnya di Sini, Sekarang Saya akan membahas cara bagaimana menampilkan Data MySQL yang sudah berhasil dibaca ke MsFlexGrid. Saya memilih MsFlexGrid karena relatif lebih mudah dalam pengaturan.

Untuk contoh, saya siapkan sebuah table database seperti berikut (silahkan dicopast kalau mau menggunakan data ini)


CREATE TABLE IF NOT EXISTS pegawai (
NIP char(18) DEFAULT NULL,
NMPEG char(100) DEFAULT NULL,
TEMPATLHR char(50) DEFAULT NULL,
KDGAPOK char(4) DEFAULT NULL,
Nominal int
);

INSERT INTO pegawai VALUES
('110013596000000000', 'HERIEN DJOHAR M.', 'PARE-PARE', '3C32', 1000000),
('110013605000000000', 'DRS.SUNARJONO', 'YOGYAKARTA', '4A30', 1500000),
('110013622000000000', 'NY.SRI MULYATI', 'JAKARTA', '3C32', 1000000),
('110013953000000000', 'NY.KARTININGSIH', 'SOLO', '3B32', 1250000),
('110015937000000000', 'L.SURACHMAN', 'MAGELANG', '3B30', 1750000),
('110016206000000000', 'M.WAJELLI, SE.MBA', 'TANJUNG KARANG', '4A26', 1300000),
('110017469000000000', 'THERESIA SUBIJANTI', 'YOGYAKARTA', '3C30', 1750000),
('110017472000000000', 'NATHANIEL RUNDUPADANG', 'MAKASSAR', '3C28', 1400000),
('110017514000000000', 'SRI JULIANI', 'AMBARAWA', '3B28', 2100000),
('110017672000000000', 'ROCHYATI', 'YOGYAKARTA', '3B30', 1100000);


Langkah-langkahnya sebagai berikut:

1. Buat Project baru

2. Tambahin VbMySQLDirect ke Referensi program seperti saya jelaskan Disini

3. Tambah sebuah MsFlexGrid

4. Copy Code berikut:


Dim Koneksi As New MYSQL_CONNECTION
Dim Recordset As New MYSQL_RS

Private Sub Form_Load()
Koneksi.OpenConnection "localhost", "root", "", "db_appgpp" 'sesuaikan
Set Recordset = Koneksi.Execute("select * from pegawai")

MSFlexGrid1.Cols = Recordset.FieldCount 'Set jumlah kolom Grid, sesuai jumlah field data
MSFlexGrid1.Rows = Recordset.RecordCount + 2 'set jml baris, +2 untuk header
CetakHeader

For Baris = 2 To Recordset.RecordCount + 1 'data dimulai di baris2, brs 0&1 utk header
For Kolom = 0 To Recordset.FieldCount - 1
MSFlexGrid1.TextMatrix(Baris, Kolom) = Recordset.Fields(Kolom)
MSFlexGrid1.ColAlignment(1) = flexAlignCenterleft
MSFlexGrid1.ColAlignment(2) = flexAlignCenterleft
Next
Recordset.MoveNext
Next

ResizeGrid MSFlexGrid1, Me
End Sub

Sub CetakHeader()
With MSFlexGrid1
.FixedRows = 2
.FixedCols = 0
.ForeColorFixed = vbBlue

.TextMatrix(0, 0) = "NIP"
.TextMatrix(1, 0) = "NIP"
.TextMatrix(0, 1) = "NAMA PEGAWAI"
.TextMatrix(1, 1) = "NAMA PEGAWAI"
.TextMatrix(0, 2) = "TEMPAT LAHIR"
.TextMatrix(1, 2) = "TEMPAT LAHIR"

.TextMatrix(0, 3) = "GAJI"
.TextMatrix(0, 4) = "GAJI"
.TextMatrix(1, 3) = "KODE"
.TextMatrix(1, 4) = "NOMINAL"

.ColAlignment(-1) = flexAlignCenterCenter
.FixedAlignment(1) = flexAlignCenterCenter
.FixedAlignment(2) = flexAlignCenterCenter
.ColAlignment(1) = flexAlignCenterleft
.ColAlignment(2) = flexAlignCenterleft
.MergeCells = flexMergeRestrictAll
.MergeCol(0) = True
.MergeCol(1) = True
.MergeCol(2) = True
.MergeRow(0) = True
End With
End Sub

Sub ResizeGrid(pGrid As MSFlexGrid, pForm As Form)
Dim intRow As Integer
Dim intCol As Integer
With pGrid
If .Rows > 100 Then
maxRow = 100
Else: maxRow = (.Rows - 1)
End If
For intCol = 0 To .Cols - 1
For intRow = 0 To maxRow
If .ColWidth(intCol) < pForm.TextWidth(.TextMatrix(intRow, intCol)) + 100 Then
.ColWidth(intCol) = pForm.TextWidth(.TextMatrix(intRow, intCol)) + 100
End If
Next
Next
End With
End Sub


Jika sukses, hasilnya akan seperti ini:


Selamat mencoba..

Rabu, 11 Maret 2009

jalanin Perintah DOS dari VB

Berikut trik ngejalanin perintah DOS dari vb, siapa tau berguna.

Buat Project baru dengan 1 textbox dan 1 command button. Tambahin Kode ini:


Private Sub Form_Load()
Shell "cmd.exe", vbNormalFocus
End Sub

Private Sub Command1_Click()
Clipboard.Clear
Clipboard.SetText Text1 + Chr$(13)
AppActivate "cmd.exe"
SendKeys "% ep", 1
End Sub

isi perintah Dos di text1, misal nya 'DIR *.EXE' lalu klik command1, maka perintah dos tersebut akan langsung dieksekusi..

Kamis, 29 Januari 2009

Menampilkan Gif Animasi di VB

Bisakah VB menampilkan Gif Animasi? secara standard VB memang tidak memiliki object komponen untuk menampilkan gif animasi. Anda mungkin bisa googling untuk mendapatkan OCX nya. dari pengalaman saya, OCX tersebut biasanya harus dibeli, kalaupun ada yang gratis, biasanya dengan kemampuan terbatas. Sebetulnya dengan satu trik agar kita bisa menampilkan gif animasi dengan komponen bawaan VB. Langkah-langkahnya:

1. Buat Project dengan sebuah form
2. Tambahkan object Internet Control (Add-Components-Microsoft Internet Controls)
3. Ketikan Kode:
Private Sub Form_Load()
WebBrowser1.Navigate = "c:\somefile.gif"
End Sub


Ya... dengan control webbrowser dan sedikit sentuhan html kita bisa menampilkan gif animasi..
Silahkan dicoba..

Senin, 05 Januari 2009

Koneksi VB - My SQL tanpa ODBC

Bagi Anda yang biasa membuat program pengolahan DataBase mungkin sudah tidak asing lagi Untuk mengkoneksikan VB dengan MySQL. Untuk saat ini Data Base MySQL memang sangat ideal, baik dari segi kecepatan maupun karena gratisnya. Sayang nya memang MySQL tidak memiliki driver standard seperti Access atau SQL Server. Salah Satu Solusi mungkin bisa menggunakan MyODBC untuk mengkoneksikannya. akan tetapi, MyODBC memiliki kelemahan dari segi kecepatan, terutama jika data sudah membengkak jumlahnya. Koneksi tanpa ODBC mungkin bisa menjadi solusi. Langsung Pada inti aja mungkin, berikut langkah-langkah nya:
1. Download dan Install VbMySQLDirect (googling aja atau Klik Disini )
2. Buat Program Baru
3. Tambahin VbMySQLDirect ke Referensi program (Menu Project->References->VbMySQLDirect 1.0)
4. Tinggal definisiin variable buat koneksi dan Recordset

Contoh Penggunaan:

Dim koneksi As New MYSQL_CONNECTION
Dim Recset As New MYSQL_RS

Private Sub Form_Load()
NamaServer = "10.204.15.214"
UserID = "root"
Password = "123456"
dbName = "test"
koneksi.CursorLocation = adUseClient
koneksi.OpenConnection NamaServer, UserID ,Password, dbName

Recset.OpenRs "select * from t_contoh_data", koneksi, 3, 3
MsgBox "Data ke 1 = " & Recset.Fields("Cth1")
End Sub

Udah, cuma gitu ajah cara koneksinya, ga ribet setting ODBC segala.. Cukup simpel kan..??
Selamat mencoba..


Senin, 15 Desember 2008

Kirim Email Palsu lewat Program VB

Ingin tau gimana caranya bikin email palsu lewat bahasa pemrograman Visual Basic?
Sssstt.. simple koq!! tapi jangan buat maen2 ya... Ini sih buat belajar aja, sama sekali bukan mengajarkan kejahatan. (Tanggung jawab sendiri loe klo dipake buat nipu!!)

Langkah 1:
Bikin Form baru
Tambahin Objek Inet (Klik Kanan di Tool Box, Componens.. Pilih Microsoft Internet Transfer Control)
Tambahin 4 Text Box
Kasih Nama txtSender, txtTarget, txtSubject, txtMsg
Ubah Properti txtMsg: MultiLine = True
Tambahin 1 Command Button
Atur Tampilannya biar Indah dan menawan :)

Langkah 2:
Copy Source Code Dibawah Ini, Paste di Code nya VB

Private Sub Command1_Click()

Dim strURL As String
Dim StrFormData As String
Dim X, Y
Dim Sender As String
Dim Receiver As String

X = Split(TxtSender.Text, "@")
Sender = X(0) & "%40" & X(1)

Y = Split(TxtTarget.Text, "@")
Receiver = Y(0) & "%40" & Y(1)

StrFormData = "TO=" & Receiver & "&FROM=" & Sender & "&SUBJECT=" & TxtSubject.Text & "&BODY=" & txtMsg.Text

strURL = "http://www.lorenza.it/varie/catalogo/Admin/XcCDONTS.asp"
Inet1.Execute strURL, "POST", StrFormData, "Content-Type: application/x-www-form-urlencoded"
MsgBox "sukses..."
TxtTarget = ""
TxtSubject = ""
TxtMsg = ""

End Sub

Coba deh Run Programnya, target nya pake email sendiri, sendernya terserah, misalnya aku@manis.sekali trus kirim...
haveFun.. :)

Jumat, 12 Desember 2008

Visual Basic: Password Microsoft Access

Pernah punya file microsoft Access yang di protek password, trus Anda lupa?
Tentu sangat menyebalkan.. Jangan Buru² Frustasi!! Bagi Anda yang mengerti pemrograman Visual Basic bisa mencoba membuat program untuk membuka Password. Berikut Listing Programnya:


Function AccessPassword(Byval Filename As string) as string
Dim MaxSize, NextChar, MyChar, secretpos,TempPwd
Dim secret(13)
secret(0) = (&H86)
secret(1) = (&HFB)
secret(2) = (&HEC)
secret(3) = (&H37)
secret(4) = (&H5D)
secret(5) = (&H44)
secret(6) = (&H9C)
secret(7) = (&HFA)
secret(8) = (&HC6)
secret(9) = (&H5E)
secret(10) = (&H28)
secret(11) = (&HE6)
secret(12) = (&H13)

secretpos = 0
Open Filename For Input As #1' Open file for input.


For NextChar = 67 To 79 Step 1 'Read in Encrypted Password
Seek #1, NextChar' Set position.
MyChar = Input(1, #1)' Read character.
TempPwd = TempPwd & Chr(Asc(MyChar) Xor secret(secretpos)) 'Decrypt using Xor
secretpos = secretpos + 1'increment pointer
Next NextChar
Close #1' Close file.
AccessPassword = TempPwd
End Function

Demikian, semoga bermanfaat

Welcome

Selamat datang di blog yang sangat sederhana ini.
Ingin menyumbang Artikel di Blog ini? Silahkan hubungi cool_dan@plasa.com

Created by@

Ramedhan Hermawan