■No43524 (がながな さん) に返信
> dim SyouhinID as long
お使いのデータベースが分からないので、何とも言えませんが、
本当に Long 型が必要なのでしょうか?
(9桁程度までの数値であれば、Integer で収まるはずです)
ちなみに Jet Provider は、64bit整数型をサポートしていません。
数値は、Decimal型、Integer(Int32)型、Double型などにマッピングされます。
SQL Server の場合には、int 型が Integer、bigint 型は Long に相当します。
> '//---商品IDがNULLの時
> If rsASO("商品ID") Is System.DBNull.Value Then
これは実際の値ではなく、Field オブジェクトを返しますので、DBNull にはなりえません。
rsASO("商品ID") は、rsASO.Fields("商品ID") の省略表記であって、
rsASO("商品ID").Value とは異なる事に注意してください。
実際の値を調べるのであれば、
rsASO.Fields("商品ID").Value
もしくは
rsASO.Collect("商品ID")
を利用してください。これらであれば、実際の値が返されます。
なお、Field オブジェクトを変数にキャッシュしない場合には、
Collect プロパティを使った方が、Value プロパティよりも効率が良いとされています。
|