掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストファイルを振り分けるには? (ID:75536)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Sayさん、すいませんでした。 そりゃそうですよね。。。 皆さん、時間の合間を縫って応えてくださってるんですから。。 反省したいと思います。 そこで、少し自分成りにコードの方を書きました。 VBから、SQLServerのテーブルにテキストデータをインポートを行う為の 下記のようなコードを書きました。 しかし、上手くコンパイルが通りません。 誰か、分かる方ご指導の程、よろしくお願い致します。 Dim sTMP As String Dim StrTmp As String Dim ID As Integer Dim Rst As Recordset Dim Pos As Integer Dim StrPath As String Dim Mydb As Database Dim Mydata As Recordset Dim Para00 As String Dim I As Integer Private Sub main() '***** ファイル読込 ***** sTMP = "" StrPath = "C:\TESTX.txt" Set Rst = CurrentDb.OpenRecordset("TESTDB", dbOpenDynaset) 'シーケンシャル入力モード+読込専用で開きます Open StrPath For Input Access Read As #1 'ファイルの中身がなくなるまでループ Do While Not EOF(1) '1行目を取得する。 Line Input #1, sTMP 'iの初期化 I = 0 '***** 1件目の処理 ***** '取得したsTMPの","の場所を取得 Pos = InStr(1, sTMP, ",") '左から","の場所までをIDにいれる。 ID = Left(sTMP, Pos - 1) 'IDでデータを探す。 Rst.FindFirst "ID = " & ID If Rst.NoMatch Then 'IDで重複しなければ挿入 Rst.AddNew End If 'データがなくなるまでループ Do While IsNull(sTMP) <> "" '取得したsTMPの","の場所を取得 Pos = InStr(1, sTMP, ",") If Pos <> 0 Then '左から","の場所までをIDにいれる。 StrTmp = Left(sTMP, Pos - 1) '","から最後までsTMPにいれる。 sTMP = Right(sTMP, Len(sTMP) - Pos) 'テーブルi項目目にデータを入れる。 '数字だったら、データ変換 If IsNumeric(StrTmp) Then Rst.Fields(I) = CLng(StrTmp) Else If IsNull(StrTmp) = "" Then '空データはNULL Rst.Fields(I) = Null Else '頭の"削除・お尻の"削除 Rst.Fields(I) = Mid(StrTmp, 2, (Len(StrTmp) - 2)) End If End If I = I + 1 Else '最後に","をsTMPにいれる。 sTMP = Right(sTMP, Len(sTMP) - Pos) & "," End If Loop Rst.Update Loop Close 1 Rst.Close Set Rst = Nothing End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.