![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
ACCESSの初心者な者で大変困っています。
フォームで非連結のテキストボックスに、あるフィールドの値を条件にしてテキストに出力をするにはどうしたらよいでしょうか。モジュールで関数を作成しようと努力しましたがオーバーフロー的な状態になってしまいました。IF文はわかりますが出力するすべがわかりません。お願いします。
ちなみに条件が20以上あります。
例
ID 点検時間
10 200
10 500
20 500
IDが10のとき点検時間+150
IDが20のとき点検時間+200 等
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?8acaa2e)
No.2ベストアンサー
- 回答日時:
VBAで作ることも、クエリで対応することも、フォームのつくりで入力することも、可能であると思います。
VBAにて作成したときに発生しうる問題は、新しく条件が追加された際にコードの変更を行う必要が出てくるということです。 それを行いたくないのであれば、条件をテーブルに入れてそれを読み出す物を作らなくてはいけません。 どうせ条件をテーブルに入れるなら、クエリで対応するほうが簡単だと思います。
まずもともとのテーブル(仮に名称を[T_Data]とさせていただきます)に 加算後点検時間、加算後購入日 のフィールドを追加しておいたほうが良いと思います。
それから、別に条件を入れたテーブル(仮に名称を[T_Kasan]とさせていただきます。)を作成します。 項目及び内容としては、
ID 加算時間 加算日数
10 150 0
20 200 1
30 0 2
のようなものでよいと思います。
一括で既存のデータを更新させるには、
更新クエリを一つ作り、[T_Data]to[T_Kasan]を表示させIDでリレーションシップで結び結合プロパティを「'T_Data'の全レコードと'T_Kasan'の同じ結合フィールドのレコードだけを含める。」とします。 更新する内容としては T_Data の
[加算後点検時間]に[T_Data]![点検時間] + [T_kasan]![加算時間]
[加算後購入日]に[T_Data]![購入日] + [T_kasan]![加算日数]
としてクエリを実行させれば[加算後点検時間]、[加算後購入日]に加算されたデータが入力されます。
データ入力時に、同時に加算後のデータを更新するのであれば、上記クエリの選択版を作ります。(特に抽出条件は要りません。) このクエリをフォームのレコードソースとして、点検時間の更新後処理で、加算後点検時間を[T_Data]![点検時間] + [T_kasan]![加算時間]のような形で入力すればよいと思います。(購入日の加算も同じように行います。)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?8acaa2e)
No.3
- 回答日時:
VBAで作ることも、クエリで対応することも、フォームのつくりで入力することも、可能であると思います。
VBAにて作成したときに発生しうる問題は、新しく条件が追加された際にコードの変更を行う必要が出てくるということです。 それを行いたくないのであれば、条件をテーブルに入れてそれを読み出す物を作らなくてはいけません。 どうせ条件をテーブルに入れるなら、クエリで対応するほうが簡単だと思います。
まずもともとのテーブル(仮に名称を[T_Data]とさせていただきます)に 加算後点検時間、加算後購入日 のフィールドを追加しておいたほうが良いと思います。
それから、別に条件を入れたテーブル(仮に名称を[T_Kasan]とさせていただきます。)を作成します。 項目及び内容としては、
ID 加算時間 加算日数
10 150 0
20 200 1
30 0 2
のようなものでよいと思います。
一括で既存のデータを更新させるには、
更新クエリを一つ作り、[T_Data]to[T_Kasan]を表示させIDでリレーションシップで結び結合プロパティを「'T_Data'の全レコードと'T_Kasan'の同じ結合フィールドのレコードだけを含める。」とします。 更新する内容としては T_Data の
[加算後点検時間]に[T_Data]![点検時間] + [T_kasan]![加算時間]
[加算後購入日]に[T_Data]![購入日] + [T_kasan]![加算日数]
としてクエリを実行させれば[加算後点検時間]、[加算後購入日]に加算されたデータが入力されます。
データ入力時に、同時に加算後のデータを更新するのであれば、上記クエリの選択版を作ります。(特に抽出条件は要りません。) このクエリをフォームのレコードソースとして、点検時間の更新後処理で、加算後点検時間を[T_Data]![点検時間] + [T_kasan]![加算時間]のような形で入力すればよいと思います。(購入日の加算も同じように行います。)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?8acaa2e)
No.1
- 回答日時:
どのようなフォームなのかもう少し情報をいただけますか? いっぺんにいくつのデータを表示させているのか、レコードソースはあるのかないのか? それによって、作り方が変わってきます。
もしもいっぺんに1レコード分のデータを表示させているなら、
ID と 加算時間 をテーブルにしてデータを入れておいて、あとはクエリをつくり合計時間を計算する。
そのクエリをレコードソースとしたフォームを作れば、非連結にする必要はないと思います。
この回答への補足
書き方がわかりにくく申し訳ありません。フォームは表形式のものです。またレポートでも出力したいと思っています。クエリーを作成すると考えたのですが分岐する条件が多すぎて難しいと判断しましたが大丈夫なのでしょうか?
具体的に書きますと
ID 点検時間 購入日 時期点検日という4つのフィールドがあります。IDによって点検時間に時間を加算するものが15条件ぐらいと購入日に加算するものが5条件ほどあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Accessフォームで複数条件でフィールドの値を表示する方法 4 2022/07/21 10:47
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Access DLookup vbaで条件を2件設定したい場合どうすればよいでですか? 現在 If( 1 2023/06/28 14:28
- Access(アクセス) アクセス IDが空白の時、メッセージボックスがでるようにするには 1 2022/08/04 11:06
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- Access(アクセス) Access の SetFocus について教えてください 5 2022/08/04 07:32
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
-
4
アクセスVBAのMe!と[ ]
Access(アクセス)
-
5
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
6
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
7
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
8
ACCESSでコントロールソースの変更
Access(アクセス)
-
9
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
10
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
11
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
12
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
13
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
14
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
15
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
16
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
17
AccessのフォームのテキストボックスにLOOKUPで表示したい
Access(アクセス)
-
18
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
19
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
20
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
生活保護の(精神)障害者加算に...
-
妻障害手帳2級 児童扶養手当...
-
生活保護の障害者加算について ...
-
障害者厚生年金(重度精神障害...
-
生活保護の貯金
-
ACCESSで非連結のテキス...
-
自立支援医療(精神通院)の「都...
-
新紙幣発行に対する助成金をご...
-
互助会と労働組合ってちがうの...
-
知的障害児のオムツについて
-
精神障害者保健福祉手帳につい...
-
精神障害者が市役所に合格した...
-
執行猶予とはいつ、どこの国が...
-
社会福祉事業団って
-
特定疾患の継続しないとダメ?
-
ひとり親医療費助成はMRIやCTに...
-
子供医療費助成の所得制限
-
育児休暇中のアルバイト
-
国や自治体からの補助金や助成...
-
民主党の主張する一括交付金と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報