• ベストアンサー

「Access」で、式が入っているテキストボックスに直接入力したい。

「Access2000」を 使用しています。 まだ「アクセス」を使い始めたばかりなので、 分からないことが多いのですが…。 「フォーム」で、 「税抜き」というテキストボックスの コントロールソースに関数 (=Int([税込み]/1.05+0.9))を入れました。 これで「税込み」価格を入力すると 自動的に「税抜き」価格が表示されるようには なったのですが、「税抜き価格をダイレクトに 入力したいケース」が出てきて困っています。 「Excel」の場合、 式の上に直接入力すれば、式が消えて 値を直接打ち込むことが出来ますが、 「アクセス」の場合は式が入っている テキストボックスに、値を直接入力 することは出来ないのでしょうか?

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

  • ベストアンサー
  • vantage
  • ベストアンサー率60% (310/514)
回答No.1

計算式をコントロールソースに設定するのではなく、VBAを使って「税込み」が入力された直後にのみ「税抜き」額の計算を行ってインプットするという方法ではどうでしょうか? 手順(1) [税抜き]のコントロールソースは空白にする。 手順(2) [税込み]のプロパティで、[イベント]→[更新後処理]で[イベントプロシージャ]を選択し、すぐ右の[...]ボタンをクリックする。 手順(3) VBエディタが開いて、次のように表示されるので・・・ Private Sub 税込み_AfterUpdate() End Sub ↓この2行の間にこのように記述する。 Private Sub 税込み_AfterUpdate()  Me![税抜き]=Int(Me![税込み]/1.05+0.9) End Sub フォームの変更を保存して完了。 これで、「税込み」を入力した直後に「税抜き」額がインプットされますが、変更したい場合は編集することも可能になります。 VBAを使われた事はないかもしれませんが、これは非常に簡単な処理ですので、ひとつチャレンジしてみてください。  

mami0810
質問者

お礼

うまくいきました! VBAは使ったことがなかったのですが、 ちゃんと出来ました。 丁寧な回答、ありがとうございました。

その他の回答 (1)

回答No.2

=Int([税込み]/1.05+0.9) この数式を、既定値に入力しておくってのは、良くやる方法ですけどねぇ お気に召しませんでしょうか?

mami0810
質問者

お礼

ずっと同じ数字が表示され続けてしまって…。 私のやり方が間違っていたのでしょうか。 スミマセン。 回答、ありがとうございました。

関連するQ&A

  • Access97フォームで計算したものをテーブルに入力したい

    Access97で受注管理のデータベースを設計中です。 フォームのテキストボックス[税込金額]のコントロールソースに =Int([税抜金額]*[消費税率]*0.01+[税抜金額]) という式を入れました。 はたと気がついたら、基になるテーブルの[税込金額]には当然 (コントロールソースじゃなくなってしまったから)そこで 計算された値は更新されません。 テーブルにその値を更新したいのですが、そのためにはどのように すればよろしいでしょうか? 基になるテーブルに[税抜金額][消費税率][税込金額]という項目が あります。で、フォームを使用して入力時に税抜き金額を入力し、 消費税率を入力すると税込金額が小数点切り捨てで自動で入力される という風に組めればフォームの中で計算できなくてもフォームで値が 表示されればかまいません。 要領を得ない質問でスミマセン。お手数ですが教えてください。

  • アクセスの演算について

    アクセス2000を使用しています。 フォームの中に「価格(税込み)」という入力フィールドがあるのですが、このフィールドを入力すれば自動で「価格(税抜き)」が表示されるフィールドを作成しようとしています。  ところがフォームの「価格(税抜き)」フィールドのプロパティの中のコントロールソースで以下のように入力しても正しい値が表示されません。  =[価格(税込み)]/1.05  ただ、同様に1.05のところを整数(たとえば2)にすると正しい値が表示されます。  小数点以下の数値で割り算をする方法を教えてください。

  • アクセス 式ビルダの使い方

     アクセス初心者です。いまいち式ビルダの使い方がわからないので教えてください。    フォーム画面にて、テキストボックスに入力した値を計算させて、テキストボックスに計算値を自動に入力するようにしたいです。 テキストボックス1*テキストボックス2のような、式を作り(例えです)テキストボックス3に計算値を反映したいです。    式ビルダでできるでしょうか?教えてください。

  • ACCESS テキストボックスの入力値削除

    こんにちは。ACCESSの初心者です。 現在ACCESSを使ってとある一覧表の入力フォーマットを作成しております。 早速ですが質問です。 フォームのテキストボックスにて入力チェックをしており、間違った値が入力されると、メッセージボックスを出し、その間違った入力値を削除し、カーソルをそのテキストボックスに戻す、ようにしたいのですがどうすればいいのでしょうか? ちなみに現在以下のようなソースを作成しているのですが、(1)と(2)のところがどうすればいいのかわかりません。 If 正しい入力値 then 次のテキストボックスへ移動 else msgbox("入力値エラー") 入力値削除(1) カーソルを戻す(2) end if よろしくお願いします。  

  • 「Access」で、式がエラーになってしまいます。

    「Access2000」を使用しています。 Accessは初心者で、関数の事もよく分からないのですが、 式にエラーが出て困っています。 少しややこしいのですが… 「税抜き価格の合計×0.83(17%引き) =結果(一の位切り捨て)×1.05(消費税) =結果(小数点以下切り捨て)」 という式を作りたくて、 フォームの「テキストボックス」の 「コントロールソース」に =trunc(rounddown([税抜合計]*0.83,-1)*1.05) と入れたのですが、Enterを押しても 最初の文字が大文字に変わりません。 結果も、「#Name?」となってしまいます。 式の組み立て方が間違っているのでしょうか? お教え願います。

  • ACCESS2000の帳票フォームでテキストボックスの入力値を取得したい

    こんにちは。ACCESS2000でツールを作成しています。 テーブルはExcelにリンクさせ、クエリを介して帳票フォームで データを表示しています。 帳票フォームのレコード毎にテキストボックスを追加して それぞれ入力できるようにし、その値をVBAで取得したいのですが どうすればよいでしょうか。 テキストボックスを追加して実行すると、一つのテキストボックスに 入力した値が全てのレコードに反映されているようです。 帳票フォームのしくみがよく分かりません。 どなたか教えていただけないでしょうか。 宜しくお願いします。

  • ACCESS2000 テキストボックスに入力できない

    お世話になります。 環境:Win2000SP4 ACCESS2000 「メインフォーム」から、条件入力用のテキストボックスがある「条件フォーム」を開いた時、そのテキストボックスに一切入力できなくなります。「条件フォーム」を単独で開いた時には入力できます。条件フォームはオートフォーム:単票形式で作り、フォームヘッダーにテキストボックスと実行ボタンを付加しました。以前のご質問(QNo.394049 Access2000 テキストボックスに文字を入力できない理由が判りません。)に、元が集計クエリであれば入力できないとありました。まさに元が集計クエリなのですが、条件フォームを単独で開いた時には入力できますし、結果も表示されます。 どのような情報が必要かわかりませんのでとりあえず次の内容を。。。 ■集計クエリのSQL  SELECT 使用TBL.年月日,sum(使用TBL.使用金額) AS 使用金額の合計  FROM 使用TBL  GROUP BY 使用TBL.年月日  HAVING (((使用TBL.年月日)=[Forms]![条件フォーム]![txt_年月日])); ■テキストボックス(txt_年月日)  使用可能:はい  編集ロック:いいえ  IME入力モード:コントロールなし  IME変換モード:無変換 メインフォームを経由すると、なぜ入力できなくなるかわかりません。なにか問題でもあるのでしょうか?どなたかご教授頂けないでしょうか?

  • テキストボックスへの入力

    アクセス97にてソフト開発をしております フォームAの「合計」テキストボックスに表示されている数字を、フォームAを閉じたときにフォームBの「金額」テキストボックスに入力できるようにしたいのですが、 どの様にすればいいのでしょうか この二つのテキストボックスはODBCリンクテーブルと連結しています

  • テキストボックスの入力で困っています

    アクセス2010で請求書を作成しています 請求データベースの入力フォーム上の(商品コード)テキストボックス(非連結)に入力して、その値を使い、Dlookupで商品コードデータベースから商品名を入力フォーム上の(商品名)テキストボックスに表示させています 商品コードデータベース上で商品コードを長整数型で設定してあります 商品コードには、40011などの整数型の範囲を超えたデータがあります いろいろな理由から、商品コードは主キーに設定せず、インクリメント型でもありません 入力フォーム上の(商品コード)テキストボックスに整数型の範囲(-32768から32767)なら正常に動作します しかし整数型の範囲を超えて入力すると、「このフィールドに入力した値が正しくありません」が表示され、先に進めません 申し訳ありませんが、何か打開策をお知らせいただけると幸いです

  • アクセスVBA テキストボックス入力値からの参照

    マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスAに入力された値を、Dlookup関数で『フォーム(2)』のテキストボックスBに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、VBAで『テーブル入力情報』のフィールドAに入力されるようにしています。フィールドAについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドAに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスBに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドA=Me.テキストボックスBのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。

専門家に質問してみよう