4

質問: Long型として宣言されているVBA関数をAccessで使用したいと思います。時々0から35までの整数を返したいのですが、ほとんどの場合、空白やnullなどを返すことができるようにしたいのです。これを行う方法はありますか?私が試したこと(variable=""またはSetvariable= Nothing)は、エラーを呼び出すだけです。これはクエリで使用され、1つの列の値を提供します。その列のタイプをLongにします。そのようなことが不可能な場合、私はすでに別の、しかしあまり望ましくない解決策を持っているので、私が知る必要があるのはそれだけだと思います。助けてくれてありがとう。

更新:もちろん、質問をした直後に、私は良い解決策を見つけました。ExcelでRange( "whatever")。Value = Range( "whatever")。Valueを実行すると、左揃えの20が右揃えの20に変更され、ピボットテーブルによって数値として認識されます。 (Excelでセルの種類を数値に変換しただけでは、ピボットテーブルでは数値と​​して認識されません)。それで、必要がないので背景を削除しています。longとして宣言された関数に対して、ある種の空白またはnullを返すことができるかどうかを知りたいと思っています。ありがとう

4

2 に答える 2

7

Null関数からのみ返すことができVariantます。
Nothing関数からのみ返すことができObjectます。

他のすべての場合、関数の戻り値として定義されたタイプの変数を返すように制限されています。
値を設定しない場合は、デフォルト値が返されます
。数値変数はゼロに初期化されます
可変長文字列はゼロ長文字列に初期化されます( "")
固定長文字列はASCIIコード0で埋められます
。日付/時刻変数はゼロに初期化されます

于 2012-08-06T16:38:37.930 に答える
2

ユニタライズされたlongの値は0であるため、答えは「いいえ」です。longとして宣言された関数は、nullまたは空白を返すことはできません。ゼロが関数の有効な戻り値でない場合は、「null」に相当するものを使用できますが、それはすでにわかっています:)

于 2012-08-06T16:35:53.393 に答える