coba cek dulu di databasenya table dg nama itu udah ada atau belum, kalau
ada, data yg ada cukup di insert, kalo belum ada dibuat dulu tabelnya baru
di insert datanya.

cara buat ngecek tablenya udah ada atau belum tergantung db yg di pake, kalo
pake access bisa pake ADOX (contohnya liat aja diarsip milis ada kok, search
pake kata kunci ADOX atau table schema), mysql bisa pake query: show tables,
sql server bisa pake query: SELECT name FROM dbo.sysobjects WHERE xtype =
'u'
dsb.

best regards
[poer]

On 4/9/07, Thoyib <[EMAIL PROTECTED]> wrote:

 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 <[EMAIL PROTECTED]>
*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


Kirim email ke