- ベストアンサー
Accessテキストボックスの計算式の結果を編集する方法
- Accessのテキストボックスに関数の計算式を入れていると編集できないことがあります。そこで、計算式の結果を編集する方法を紹介します。
- Accessのフォームにサブフォームがあり、その中に枚数、部数、総枚数を入力するテキストボックスがあります。通常は枚数と部数をかけて総枚数を計算しますが、まれに1枚か2枚追加しなければならない場合があります。この場合、テキストボックスに直接入力する方法を紹介します。
- Accessのテキストボックスにある計算式の結果を編集するための方法について教えてください。テキストボックスに関数を使用して計算式を入れているため、直接編集することができません。解決策を教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
サブフォームのテキストボックスが、 枚数、部数、総枚数 の順に並んでいて、部数に入力をすると 総枚数が表示されるのだと思います。したがって、 総枚数に関数が設定してあるのだと思いますが、 その関数の実行を、サブフォームの部数の変更時に設定すれば、 あとから総部数は変更できます。サブフォームのデザインビュー で部数の上で右クリックし、プロパティから更新後処理を 選択し、コードビルダを選択し、コード表を表示します。 表示されたコードを以下のように設定し、保存してください。 Private Sub 部数_AfterUpdate() Forms!メインフォーム名!サブフォーム表示コントロール名.Form!総部数 = 関数 End Sub ここで上記の「関数」がMe![枚数]*Me![部数]のようなもの ならば、以下に置き換えてください。 Forms!メインフォーム名!サブフォーム表示コントロール名.Form!枚数 * Forms!メインフォーム 名!サブフォーム表示コントロール名.Form!部数 あるいは、自前の関数があるならばそれを設定してください。 長いので別に書きました。「サブフォーム表示コントロール名」とは メインフォームでサブフォームを表示しているコントロール名で サブフォームの名前そのものではありません。初期は埋め込み0の ような名前がつけられます。変更している場合はその名前を つけてください。 設定は単純なのですが、わからなければ補足してください。 なお、サブフォームの枚数、部数、総枚数のテキストボックスが、 連結なのか非連結なのかはわからない、ということにしています。
その他の回答 (2)
- yama1718
- ベストアンサー率41% (670/1618)
普通は「予備」などテキストボックスを追加して 枚数×部数+予備=総枚数 とすればいいのでは。
お礼
なるほど、そういった考えもありますね。 なかなか頭が固くて、そういった技も思いつきませんでした。 なるべくフィールド数を少なくしたいのですが、 他に案がなければ、こちらを採用したいと思います。 ありがとうございます。
- kmetu
- ベストアンサー率41% (562/1346)
・枚数 ・部数 の計算式の基になっている部分のデータを書き換えるようにしたらいかがですか
お礼
そうなんですが、通常だと、書き込めません。 たぶんコントロールソースに演算式を書くわけではなくて、 違う書き方があるのでしょうか?
お礼
大変遅くなり、申し訳ありません。 非常にわかりやすく丁寧な回答に感謝感激です。 おかげで、やりたいことが出来ました。 またお世話になるかと思いますが、よろしくお願いいたします。 ありがとうございました。