• ベストアンサー

こんなことがフォーム上で表示できますか?

フォーム(既定のビュー:帳票フォーム)詳細に、クエリで表示させた現在のtxt生産台数とtxt予定台数を比較して、テキストボックス(非連結)に「完了」や「生産中」と表示させたいと考えております。 はじめはテキストボックスではなく、ラベルの可視プロパティをVBAで制御を試みましたが、比較がうまく機能していなくて・・・ いろいろとチャレンジしましたが、くじけております。 ヒントなどいただけたらよろしくお願いします。 環境:WinXp Pro、Access2002

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

「txt生産台数」と「txt予定台数」のデータ型がともに数値型なのでしたら、 =IIF(txt生産台数-txt予定台数<0,"生産中","完了") 数値型ではないのでしたら、 =IIF(CLng(txt生産台数)-CLng(txt予定台数)<0,"生産中","完了") という式を、表示させたいテキストボックスのコントロールソースに 設定してやればどうにかなるのではないかと思います。 (先頭の「=」も含めて必要です)  *関数CLngは、数字テキストを長整数型に変換します。但し小数は   丸めてしまうので、小数が必要な場合はCSngかCDblという関数   を使って下さい(使い方は同じです)。 但し、式をコントロールソースとするコントロール(=演算コントロール)は、 フォームの右クリックメニュー等による検索・並べ替えはできません。 ですので、No.1の方も勧められているように、同様の式をクエリで使用して、 演算フィールドにするなどした方が、使い勝手はいいかもしれません。

39_Thanx
質問者

お礼

ご回答ありがとうございます。 とりあえず希望通りの結果が得られました。 同じ内容がクエリで実現できるように挑戦してみます。

その他の回答 (2)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>クエリでチャレンジしましたが、挫折しました。 挫折するほど難しいことじゃないと思いますが 生産台数が予定台数未満なら生産中でいいいのですね =IIF(生産台数<予定台数,"生産中","完了") という式フィールドを作るだけです

39_Thanx
質問者

お礼

ありがとうございます。クエリでも実現できました。 次にチャレンジしているのはクエリで得た結果の”生産中”と”完了”のフォントの色を変えるように挑戦しています。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

帳票フォームの非連結テキストボックスに 何らかの値をセットすると全てのレコードに同じものが表示されてしまいますよ フォームで何とかするのではなくクエリの式フィールドで行いそれをフォームのソースにすればいいのでは

39_Thanx
質問者

お礼

ご回答ありがとうございます。 仰るとおり、全てのレコードに同じものが表示されました。 クエリでチャレンジしましたが、挫折しました。