- PR -

VB6のファイル出力にてNullを出力するには?

1
投稿者投稿内容
くま
会議室デビュー日: 2003/09/04
投稿数: 4
お住まい・勤務地: 千葉県
投稿日時: 2004-03-22 12:20
初歩的な質問だと思いますが、宜しくお願い致します。

SQLServerのあるテーブルへ、バッチによる一括データの込を行う為に、
VBからデータの出力(TAB区切り)を行っております。

仕様上一部項目をNullにする必要があり、該当項目にNullを出力したいのですが
CHR(0)やvbNullChar等を使用しますと、Nullでは無くスペースが出力されます。

Nullで出力する方法は無いのでしょうか?

Open strFileName For Output As fn Len = 32000
'ACCESS内の指定テーブルがEOFになるまで続ける
Do Until adoRS.EOF
rec = ""
For i = 0 To adoRS.Fields.Count - 1
strArea = adoRS(i)
If IsNull(strArea) Then
strOut = CHR(0)  '<---Nullをセット出来ない!!
Else
strOut = strArea
End If
rec = rec & RTrim(strOut) & vbTab
Next
Print #fn, Left(rec, Len(rec) - 1)
adoRS.MoveNext
Loop
Close fn
adoRS.Close
ぼると
常連さん
会議室デビュー日: 2003/04/09
投稿数: 42
投稿日時: 2004-03-22 12:58
引用:

HAGEさんの書き込み (2004-03-22 12:20) より:

仕様上一部項目をNullにする必要があり、該当項目にNullを出力したいのですが
CHR(0)やvbNullChar等を使用しますと、Nullでは無くスペースが出力されます。

Nullで出力する方法は無いのでしょうか?


どうやって確認されたんでしょうか?
NULL文字は文字として表現できないため半角スペースや黒く塗りつぶしたりして
表示されます。(どう表示するかはエディタによります。)

追記
WinXPのメモ帳、秀丸では半角スペース表示されるようです。
チェックプログラムを作成するかバイナリエディタで確認してみてください。

[ メッセージ編集済み 編集者: ぼると 編集日時 2004-03-22 13:23 ]
くま
会議室デビュー日: 2003/09/04
投稿数: 4
お住まい・勤務地: 千葉県
投稿日時: 2004-03-22 13:43
引用:

ぼるとさんの書き込み (2004-03-22 12:58) より:
引用:

HAGEさんの書き込み (2004-03-22 12:20) より:

仕様上一部項目をNullにする必要があり、該当項目にNullを出力したいのですが
CHR(0)やvbNullChar等を使用しますと、Nullでは無くスペースが出力されます。

Nullで出力する方法は無いのでしょうか?


どうやって確認されたんでしょうか?
NULL文字は文字として表現できないため半角スペースや黒く塗りつぶしたりして
表示されます。(どう表示するかはエディタによります。)

追記
WinXPのメモ帳、秀丸では半角スペース表示されるようです。
チェックプログラムを作成するかバイナリエディタで確認してみてください。




現在の開発環境にバイナリエディタが無く、秀丸で見ておりました。
バイナリエディタをDLして見直してみます。

りばぁ
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 130
お住まい・勤務地: 愛知県
投稿日時: 2004-03-22 13:47
 まず、値としてのNullと、NULL文字の区別ってついてます?^^;
strOutにセットしているのは、ぼるとさんがさらっと言ってますけど、
NULL文字です。

>Nullで出力する方法は無いのでしょうか?

というのが気になったのですが、、、
ごん
会議室デビュー日: 2004/05/26
投稿数: 1
投稿日時: 2004-05-26 19:25


[ メッセージ編集済み 編集者: ごん 編集日時 2004-05-27 09:37 ]
1

スキルアップ/キャリアアップ(JOB@IT)