• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS初心者です。)

ACCESS初心者向けのゼロ化についての質問

このQ&Aのポイント
  • ACCESS初心者がクエリを実行すると、他のクエリと結合した結果がない場合には#Errorが表示されます。質問者は、数値の場合はゼロ、文字の場合は空白にしたいと考えています。
  • 質問者の動作環境はXP pro、ACCESS2000です。また、VBAやVBの知識はありません。
  • 質問者が実現したいのは、結果の確入カラムに#Errorが表示される場合でも、数値の場合はゼロ、文字の場合は空白に置き換えることです。

質問者が選んだベストアンサー

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

案1) 「■商品クエリ」と「■入り数クエリ」の結合プロパティで 「商品クエリ側全レコードを出力」とか設定があるかと 思いますが、そこで制御します。 ここの設定具合それぞれで結果がどう変わるか見ておくこと。 前回答者の回答が正しくできているかもう一度見直しする。 案2) 普通はテーブルを元にクエリ作りますが、クエリ結果のクエリもできます。 「#Error」になる条件が特定できれば、 ■結果 のクエリ結果を元にさらにクエリを実行すれば、 4444 じゃが芋 #Error をIIF文でもって 4444 じゃが芋 0000 にすることを試してみる。 「#Error」になることを防ぐのではなくて「#Error」を前提で考える。

kurimoy
質問者

補足

有難う御座います。 >>クエリ結果のクエリもできます。「#Error」になる条件が特定できれば、 ↑ クエリ結果のクエリを試してみます。 実はSQL記述の知識が無く、どうやって試そうか教科書を眺めていました。 お手数をお掛けしてます。

すると、全ての回答が全文表示されます。

その他の回答 (6)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.7

#ERRORについては、あてはめた判定文結果がおかしいとき、属性違うとき出る可能性あります。見直し。 求めるのが数値なら判定結果に""不要ですが0000にしたいため"0000"としていますか。右寄り左寄りは属性で表示変わります。 あとは クエリでどんな種類があって、どんな結果がえられるか整理。 そこで、どこでデータ無い時の対処をすればよいか見えてくると思います。 クエリ結果のクエリはどちらかというと暫定策です。

すると、全ての回答が全文表示されます。
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.6

単純な結合なら、Null(何も表示されない)になる筈なんですけどね? 商品クエリ・入り数クエリをテーブル作成クエリに変更して (元に戻せる自信が無ければ、コピーを取ってから) これで出来たテーブルを先ほどのクエリのソース元にします。 エラーが出なければ、商品クエリ・入り数クエリのどちらかが原因。 出たら結合されたクエリの問題かと推測されます。 絡み合ってる場合もあるかもしれないので 商品クエリ・入り数クエリ・結合されたクエリの3クエリのSQL文を提示されれば 話は早いのではないでしょうか。 追伸 Acc2000のサービスパックやOSのサービスパックは適用されてますよね?  

すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

「入り数」はその商品に入るバラ数を意味させるようなもので 3個入りが4袋で1商品(3×4、12)とかでは?。 仕様として「入り数」は0になることはなく1以上ではないでしょうか?。 「#ERROR」の回避はそれからか、と。 考えてみますが。

すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

#ERROR と再現するのが難しいので、こちらで 作った「実現させたい事」のクエリは、 SELECT 商品クエリ.JAN, 商品クエリ.商品, IIf(IsNull([入り数クエリ]![確入]),0,[入り数クエリ]![確入]) AS 確入 FROM 商品クエリ LEFT JOIN 入り数クエリ ON 商品クエリ.JAN = 入り数クエリ.JAN; のように、しています。ただし、#1で述べました 通り、商品クエリ、入り数クエリの構造などは 分からないので、「実現させたい事」のクエリ はどのようなものかも推測です。

すると、全ての回答が全文表示されます。
noname#140971
noname#140971
回答No.2

http://office.microsoft.com/ja-jp/access-help/HA001228890.aspx Nz関数を利用してもOKかと・・・

すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

商品クエリと入り数クエリの構造がわからないので 推測ですが、 商品クエリと入り数クエリを結ぶ結合線の向きを 商品クエリから入り数クエリに向かうように変更し、 確入を表示するフィールドを、 確入: IIf(IsNull([入り数クエリ]![確入]),0000,[入り数クエリ]![確入]) に置き換えて表示が変更されるか確認してみてください。

kurimoy
質問者

補足

早々にありがとうございます。早速、「式1: IIf(IsNull([入り数クエリ]![確入]),0000,[入り数クエリ]![確入])」をクエリフィールドにビルドを使用して定義して実行しましたが、#Errorは記述前と全く同じでした。別の回答者様からの回答からNZでの記述も行いましたが、#Errorが表示するデータは同じでした。ただ格納が右寄りから左寄りに変わりました。基本的なことと存じますが、ご指導をお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A