Excel VBA質問箱 IV

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

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


59709 / 76732 ←次へ | 前へ→

【21699】解決
お礼  Aiz  - 05/1/27(木) 14:03 -

引用なし
パスワード
   無事解決いたしました。
助言してくださった方々ありがとうございます。

結論をいえばCSVの作り方が悪かったみたいです。

こんな感じにしてみました
エクセルを操作するAccessVBAでのソースです。

  'csvファイル作成(ヘッダ部)
  intFNO = FreeFile()
  Open getCsvDirectoryH() & "H.csv" For Output As #intFNO
  
  '事業所コードがNullか""のチェック
  If IsNull(varCode) Or varCode = "" Then
    '事業所コードがNullと""のとき空白で出力
    strBuff = ""
    Print #intFNO, strBuff
    
    '商品種別コードがNullか""のチェック
    If IsNull(varCode2) Or varCode2 = "" Then
      '商品種別コードがNullと""のとき空白で出力
      strBuff2 = ""
      Print #intFNO, strBuff2
    Else
(中略)      
    End If
  Else
    '商品種別コードがNullか""のチェック
    If IsNull(varCode2) Or varCode2 = "" Then
(中略)
    Else
      '事業所コードと商品種別コードが入力されている場合
      Set RS = CurrentDb.OpenRecordset("select * from V商品 where 事業所コード = " & varCode & " and 商品種別コード = " & varCode2 & " ")
      RS.MoveFirst
      
      If RS.RecordCount > 0 Then
        strBuff = RS.Fields("事業所名")
        strBuff2 = RS.Fields("商品種別名")
      Else
        strBuff = ""
        strBuff2 = ""
      End If
      Print #intFNO, strBuff
      Print #intFNO, strBuff2
      RS.Close
    End If
  End If
  Close #intFNO

エラーが出ていた原因は、Nullや空白の場合、Print #intFNOだけしか書いてなかったので、Nullや空白のときはstrBuff = ""と入力するようにしました。
これで(1)(2)(3)(4)の全パターンに対応できました。
(↑のソースでは(2)(3)のパターン省きましたが^^;)

ありがとうございました。

1 hits

【21684】csvからエクセルファイルへの貼り付けについて Aiz 05/1/26(水) 19:08 質問
【21686】Re:csvからエクセルファイルへの貼り付けについて りすりす 05/1/26(水) 20:59 発言
【21689】Re:csvからエクセルファイルへの貼り付けについて Aiz 05/1/26(水) 21:46 発言
【21688】Re:csvからエクセルファイルへの貼り付けについて ichinose 05/1/26(水) 21:36 発言
【21699】解決 Aiz 05/1/27(木) 14:03 お礼

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