Maap saya repost karena saya sudah cari referensi tapi belum dapet2.
Sekali lagi maap jika penjelasannya kurang dimengerti, saya agak susah 
mengungkapkannya lewat tulisan.

Salam,
Thoy
----- Original Message ----- 
From: Thoyib 
To: [email protected] 
Sent: Sunday, April 08, 2007 01:52 PM
Subject: [Programmer-VB] Import csv to mdb



Dear vbers,

Saya sedang buat program untuk import file .csv ke dalam database .mdb.
Tapi permasalahannya adalah coding yang saya buat hanya meng-create table di 
dalam database .mdb.

Saya menghadapi kasus seperti ini:
Apabila user mengimport file, misal : file1.csv , otomatis database .mdb nya 
akan meng-create table bernama tbfile1.
Masalahnya adalah apabila user tsb mengimport file yg sama ke dalam database 
yang sama pula akan terjadi error "Table tbfile1 already exists".

Menurut saya utk menangani masalah ini adalah (mohon koreksi jika salah) 
apabila user mengimport file yg sama dengan nama tabel yang sama pula, maka 
hanya recordnya saja yang bertambah.

Mohon bantuan dari rekan2 bagaimana coding di vb-nya jika terjadi kasus2 spt 
ini ?
Atau ada jalan lain ?

Terima kasih sebelumnya.

Fyi : Coding yang saya buat utk mengcreate table.

Option Explicit
Public Function ImportCSVtoAccess(strFilePath As String, strDBPath As String) 
As Boolean
On Error GoTo err
    Dim oFileSys    As New Scripting.FileSystemObject
    Dim oFile       As TextStream
    Dim strConn     As String
    Dim strCSV      As String
    Dim strFldName  As String  'String of fields' name
    Dim strTblName  As String  'Table Name
    Dim strFV       As String  'String of fields' values
    Dim iCount      As Integer
    
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & 
";Persist Security Info=False"
        
    If DEn.Con.State = adStateOpen Then DEn.Con.Close
    
    DEn.Con.ConnectionString = strConn
    DEn.Con.Open
    
    If oFileSys.FileExists(strFilePath) Then
    
        Set oFile = oFileSys.OpenTextFile(strFilePath, ForReading, False, 
TristateUseDefault)
    
        strTblName = "tbCasepick" ' Change Table Name Here
    
    
        While Not oFile.AtEndOfLine
            strCSV = oFile.ReadLine
            strFV = strCSV
                                    
            If strCSV <> vbNullString And iCount = 0 Then
                
                If InStr(strCSV, ",") = 0 Then
                    DEn.Con.Execute "CREATE TABLE " & strTblName & " (Field1 
TEXT(255))"
                    iCount = iCount + 1
                Else
                    While InStr(strCSV, ",") <> 0
                        strCSV = Right(strCSV, Len(strCSV) - InStr(strCSV, ","))
                        iCount = iCount + 1
                        strFldName = strFldName & "Field" & iCount & " 
TEXT(255),"
                    Wend
                    strFldName = strFldName & "Field" & iCount + 1 & " 
TEXT(255)"
                    DEn.Con.Execute "CREATE TABLE " & strTblName & " (" & 
strFldName & ")"
                End If
            End If
            
            strFV = Chr(34) & Replace(strFV, ",", """,""") & Chr(34)
            DEn.Con.Execute "INSERT INTO " & strTblName & " VALUES(" & strFV & 
")"
        Wend
        
   ElseIf Not oFileSys.FileExists(strFilePath) Then
        
        MsgBox "File not exists", vbInformation, "Find"
        
    End If
Exit Function
err:
MsgBox err.Description, , "Terjadi kesalahan!"
End Function


Best Regards,

THOY


 


--------------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.0.0/751 - Release Date: 4/7/07 10:57 PM

Kirim email ke