tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルcsv→mdbへのインポート
記事No11975
投稿日: 2008/04/08(Tue) 06:54
投稿者ルミナス
初めまして

VB6.0でcsvをmdbにインポートは出来るのでしょうか?
現在はcsvをLine Inputで1行読み込み後、UPDATEでmdbに書き込んでおります。

一括で変換する方法はありますでしょうか?

[ツリー表示へ]
タイトルRe: csv→mdbへのインポート
記事No11976
投稿日: 2008/04/08(Tue) 07:55
投稿者YK
こんにちは。

> VB6.0でcsvをmdbにインポートは出来るのでしょうか?
> 一括で変換する方法はありますでしょうか?

サンプルです。

Sub MdbInsertTEST()
    Dim strMDB  As String
    Dim strSQL  As String
    Dim strCSV  As String
    Dim strPath As String
    Dim TblName As String
    Dim adoConn As ADODB.Connection

    strMDB = "D:\TEST.mdb"      'MDB のFullPath
    strCSV = "TEST.CSV"         'CSV File 名
    strPath = "D:\TEST\"        'CSV File の Path
    TblName = "T_TEST"          'Table 名
    
    strSQL = "INSERT INTO " & TblName & " " & _
             "SELECT * FROM [" & strCSV & "] IN '" & strPath & "' " & _
             "'Text;HDR=YES'"
        
    Set adoConn = New ADODB.Connection
    
    With adoConn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & strMDB
        .Open
        .Execute strSQL
    End With

    adoConn.Close
    Set adoConn = Nothing
End Sub

[ツリー表示へ]
タイトルRe^2: csv→mdbへのインポート
記事No11977
投稿日: 2008/04/08(Tue) 09:30
投稿者ルミナス
YK様

早速のご返信ありがとうございます。

この場合、既存のテーブルに追加になるんですが、
もしよろしければstrSQL内で新規テーブルを作成して追加する方法があれば教えていただけないでしょうか?
(1行目がタイトル行になるとかいうのは無く、純粋に新規テーブルが出来、そこにインポートという流れです。)

[ツリー表示へ]
タイトルRe^3: csv→mdbへのインポート
記事No11978
投稿日: 2008/04/08(Tue) 10:43
投稿者YK
こんにちは。
ご自分でも考えましょう。

    strSQL = "SELECT * INTO " & TblName & " " & _
             "FROM [" & strCSV & "] IN '" & strPath & "' " & _
             "'Text;HDR=YES'"
              ^^^ヘッダーが無いときはNO
    Set adoConn = New ADODB.Connection
    With adoConn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & strMDB
        .Open
        On Error Resume Next
        .Execute "DROP TABLE " & TblName
        On Error GoTo 0
        .Execute strSQL
    End With

[ツリー表示へ]