Setelah diskusikan proses export table Ms. Access ke file csv, import nya gimana?
Proses import agak sedikit lebih menguras pikiran, alasannya sungguh-sungguh mesti memperhatikan validasi data. Jika source tidak sesuai maka bisa menyebabkan error.
Tapi di postingan kali ini Rani ignore dahulu aja validasi nya, dengan asumsi data yang ada dalam csv file benar2 sesuai.
Bentuk dan keadaan table sebelum proses import:
Kita juga akan menggunakan koneksi ADO dan recordset ADODB, jadi kita tambahkan acuan nya.
Klik menu Project --> Reference...
Centang pada Microsoft ActiveX Data Object 2.7 Libary lalu klik OK.
Untuk code kita mulai dengan mendeklarasikan variable-variable yang akan dipakai.
Option Explicit
'Untuk menampilkan CSV
Dim rsTemp As ADODB.Recordset
Dim strFileName As String
Dim fnum As Integer
Dim strFileValue As String
Dim lines() As String
Dim one_line() As String
Dim num_rows As Long
Dim num_cols As Long
Dim r As Long
Dim c As Long
'Koneksi ADO Ms Access
Dim oConn As New ADODB.Connection
Dim strConn As String
Dim rsData As ADODB.Recordset
Dim SQL As String
Dim i As Integer
Sub procedure untuk membuka koneksi:
Sub Open_Connection()
Set oConn = New ADODB.Connection
oConn.ConnectionString = strConn
oConn.Open
End Sub
Sub procedure untuk menampilkan data table access ke datagrid:
Sub Load_Data()
Open_Connection
Set rsData = New ADODB.Recordset
SQL = "SELECT * FROM Category"
With rsData
.CursorLocation = adUseClient
.Open SQL, oConn, adOpenDynamic, adLockOptimistic
.ActiveConnection = Nothing
End With
Set DataGrid2.DataSource = rsData
oConn.Close
End Sub
Variable strConn diberi nilai di event form load, kemudian sub Load_Data diundang. Pada event ini juga terdapat beberapa code untuk mengendalikan UI.
Private Sub Form_Load()
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\latihan.mdb;" & _
"Persist Security Info=False"
Load_Data
Me.Caption = "Import Data Item"
Label1.Caption = "Delimiter"
With Combo1
.AddItem ","
.AddItem ";"
.ListIndex = 0
End With
Text1.Text = ""
Text1.Locked = True
Command1.Caption = "Browse..."
DataGrid1.Caption = "Data CSV"
Command2.Caption = "Begin Import!"
Command2.Enabled = False
DataGrid2.Caption = "Data Access"
End Sub
Data dari file csv disimpan sementara di recodset rsTemp biar mampu ditampilkan di Datagrid dan mempermudah pembuatan berikutnya. Struktur rsTemp dikontrol dalam sub procedure Data_Temp.
Sub Data_Temp(arr() As String)
Set rsTemp = New ADODB.Recordset
For i = 0 To UBound(arr)
rsTemp.Fields.Append arr(i), adVarChar, 255, adFldIsNullable
Next
rsTemp.Open
Set DataGrid1.DataSource = rsTemp
End Sub
Lanjut ke part 2 yah....
Click here if you like this article.
Sumber http://rani-irsan.blogspot.com
EmoticonEmoticon