|
▼ichinose さん:
こんばんは
お返事ありがとうございます。
> Do While Loc(pFileNo) * 40 < lof(pFileNo)
>'これで試してみて下さい
早速 試してみましたが、結果はかわりませんでした。
相変わらず 文字列''が終了していません。というエラーです。
データ40件はテーブルに追加され、41件目に空文字ばかりのデータをINSERTしようとしています。
>>>>>>
>>>>>> Get #pFileNo, , mKuni_kani
>>>>>' ↑この変数と
>>>>>'下のSQL文字列の相関はどうなっていますか?
>>>>
>>>>ちょっと 省略してしまったのですが、読み込むテキストファイルが固定長なので
>>>>ユーザ定義関数を定義しました。
>>>>定義の中を表示させてみて、各値は正確にテキストファイルから読み込むことが出来ています。
>>>>ユーザ定義関数を使って読み込むデータを定義しています。
>>>>
>>>>
>>>>>> 'SQL文生成
>>>>>> Dim sql as string
>>>>>> sql = "INSERT INTO (テーブル名) VALUES ((テキストファイルからとったデータ),(テキストファイルからとったデータ),(テキストファイルからとったデータ))"
>>>>>実際のSQLは↑ではないですよね?
>>>>>これで40行目までは正しくデータが入っているのですか?
>>>>入れることができます。
>>>>トランザクションを一件づづコミットさせると、40件のデータが正しく、テーブルに格納されます。
>>>'となると、41行目のデータが本当に正しくユーザー定義型に
>>>'取り込まれているかというこですが・・・。
>>>'特にCrlfは、見えませんから・・・
>>>'ここを再度確認してみて下さい。
>>>'環境がないのでこちらでは確認ができません
>>>'気になったのはそんなところですが・・・。
>>
>>データが40件しか入れていないのに41件目のデータを読もうとしているので、
>>ユーザ定義型の中は 空文字ばかりになっています。
>>SQL文はこんな感じ
>>↓
>>INSERT INTO (テーブル名) VALUES ('','','')
>>
>>テーブルそのものがNULL可になっているので クエリアナライザを使用するとこの空ばかりのINSERT文でもINSERTできます。
>>クエリアナライザだとINSERT出来るのに何故落ちてしまうのか、何故41行目のデータを読んでいるのかが(実際には空ですが) 不思議です。
|
|