Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


48007 / 76732 ←次へ | 前へ→

【33665】Re:「文字列''が終了していません。」というエラー
お礼  mon  - 06/1/17(火) 20:11 -

引用なし
パスワード
   ▼ichinose さん:

こんばんは。
早速のお返事ありがとうございます。
質問が不適切であった様ですみません。


>▼mon さん:
>こんばんは。
>
>
>>以下のようなプログラムをつくり、テキストファイルのデータを1行づつSQLServer上のテーブルにINSERTしようとしています。
>>仮に、テキストファイルのデータが40行だとすると、40件のデータをINSERTした後 41件目に空データをINSERT使用としてエラーになります。
>>エラーメッセージは
>>「文字列''が終了していません。」
>>となっています。
>>エラーになった際に発行したSQL文をクエリアナライザで実行するとテーブルにINSERTすることができます。
>>
>>一体どこがエラーになっているのか自分では分からなくてて・・・
>>
>>
>>ロジック等 どこがおかしいかお分かりでしたら教えてください。
>>お願いします。m(_ . _)m
>>
>>
>
>
>>------------------------------------------------------------------
>>
>>'SQLServerとの接続は既に確立された状態
>>con.BeginTrans    
>>   
>>Dim strDataFile as string
>>strDataFile = "D:\LOG.txt"
>>Dim pFileNo As Integer
>>pFileNo = FreeFile
>>'ファイルのオープン
>>Open strDataFile For Random As #pFileNo Len = 40
>'何故、テキストファイル(テキストファイルですよね?)を
>'ランダムモードでオープンしているのですか?
>'通常、テキストファイルには Cr+lfと言うコードが一行の最後に
>'入っています。これをも読み込むという計算の上でのことですか?
>'あるいは、Cr+lfが元々入っていないファイルなのですか?
CrLfは入っています。
読み込むテキストファイルは固定長で、一行が2000字以上になることもあります。
何故ランダムモードにしたのかはちょっと・・ 忘れました。(--;;)
(テキストファイルは読み込みだけで、書き込み処理はありません。)


>>Do While Not EOF(pFileNo)      
>>
>> Get #pFileNo, , mKuni_kani
>'           ↑この変数と
>'下のSQL文字列の相関はどうなっていますか?

ちょっと 省略してしまったのですが、読み込むテキストファイルが固定長なので
ユーザ定義関数を定義しました。
定義の中を表示させてみて、各値は正確にテキストファイルから読み込むことが出来ています。
ユーザ定義関数を使って読み込むデータを定義しています。 

    
>> 'SQL文生成
>> Dim sql as string
>> sql = "INSERT INTO (テーブル名) VALUES ((テキストファイルからとったデータ),(テキストファイルからとったデータ),(テキストファイルからとったデータ))"
>実際のSQLは↑ではないですよね?
>これで40行目までは正しくデータが入っているのですか?
入れることができます。
トランザクションを一件づづコミットさせると、40件のデータが正しく、テーブルに格納されます。


>>  On Error Resume Next
>>  con.Execute sql
>>  If (Err) Then
>>   con.RollbackTrans
>>      
>>   MsgBox Err.Description & vbCrLf & sql
>>   Err.Clear
>>   Exit Do
>>  End If
>>
>>Loop
>>Close #pFileNo
>>
>>If (Err.Number = 0) then
>>  con.CommitTrans
>>End If
>>On Error GoTo 0


お手数おかけします。
よろしくお願いします。

0 hits

【33658】「文字列''が終了していません。」というエラー mon 06/1/17(火) 19:12 質問
【33661】Re:「文字列''が終了していません。」とい... ichinose 06/1/17(火) 19:59 発言
【33665】Re:「文字列''が終了していません。」とい... mon 06/1/17(火) 20:11 お礼
【33668】Re:「文字列''が終了していません。」とい... ichinose 06/1/17(火) 20:46 発言
【33669】Re:「文字列''が終了していません。」とい... mon 06/1/17(火) 20:58 発言
【33674】Re:「文字列''が終了していません。」とい... ichinose 06/1/17(火) 21:48 発言
【33746】Re:「文字列''が終了していません。」とい... mon 06/1/19(木) 20:28 発言
【33751】Re:「文字列''が終了していません。」とい... ichinose 06/1/19(木) 21:26 発言
【33756】Re:「文字列''が終了していません。」とい... ichinose 06/1/19(木) 21:55 発言
【33844】Re:「文字列''が終了していません。」とい... mon 06/1/22(日) 14:02 お礼

48007 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free