|
無事解決いたしました。
助言してくださった方々ありがとうございます。
結論をいえば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)のパターン省きましたが^^;)
ありがとうございました。
|
|