|
こんばんは。
>
>早速 試してみましたが、結果はかわりませんでした。
>相変わらず 文字列''が終了していません。というエラーです。
>データ40件はテーブルに追加され、41件目に空文字ばかりのデータをINSERTしようとしています。
テキストファイルは40件で41件目を読み込もうとしているならば、
このテキストファイルの読込み方の問題ですよね?
>> Do While Loc(pFileNo) * 40 < lof(pFileNo)
>>'これで試してみて下さい
上記コードの40はレコード長の意味ですが、よろしいですか?
私がmonさんが問題にしている
テキストファイルやユーザー定義型の構造を見ていないので
題材を提供しましょう!!
新規ブックの標準モジュールに
'=============================================
Public Type rec
a1 As String * 6
a2 As String * 4
crlf(1 To 2) As Byte
End Type
'=============================================
Sub mk_sample()
Dim idx As Long
Dim o_data As Variant
Dim fno As Long
fno = FreeFile()
Open ThisWorkbook.Path & "\txtsamp.txt" For Output As #fno
For idx = 1 To 5
Print #fno, String(10, CStr(idx))
Next idx
Print #1, "12345"
Close #fno
End Sub
'=============================================
Sub test()
Dim dat1 As rec
Open ThisWorkbook.Path & "\txtsamp.txt" For Random As #1 Len = 12
Do While Loc(1) * 12 < LOF(1)
dat1.a1 = "": dat1.a2 = ""
Get #1, , dat1
MsgBox dat1.a1 & "---" & dat1.a2
Loop
Close #1
End Sub
上記のコードをコピー後、一度、適当な名前で保存してください。
・最初にプロシジャーmk_sampleを実行してみて下さい。
これでレコード長12バイトのデータが6件作成されます。
(12バイトは、Crlfも入れて12バイトです)
・次にプロシジャーtestを実行してみて下さい。
データが6件正しく表示されますよね?
上記のコードとmonさんのテキストデータ及び、ユーザー定義型の構造
等を比べてみて下さい。
|
|