Kamis, 03 September 2020

Vb6 Ms. Access: Import Dari Csv File - Part 1


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:

Kemudian mari kita buat UI nya, Combo1 untuk menampung opsi delimiter koma atau titik koma. Seperti yang sudah dibahas di proses export delimiter csv tergantung pada regional setting.
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

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:o
:>)
(o)
:p
:-?
(p)
:-s
8-)
:-t
:-b
b-(
(y)
x-)
(h)