
ACCESSの初心者な者で大変困っています。
フォームで非連結のテキストボックスに、あるフィールドの値を条件にしてテキストに出力をするにはどうしたらよいでしょうか。モジュールで関数を作成しようと努力しましたがオーバーフロー的な状態になってしまいました。IF文はわかりますが出力するすべがわかりません。お願いします。
ちなみに条件が20以上あります。
例
ID 点検時間
10 200
10 500
20 500
IDが10のとき点検時間+150
IDが20のとき点検時間+200 等

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]![加算時間]のような形で入力すればよいと思います。(購入日の加算も同じように行います。)

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]![加算時間]のような形で入力すればよいと思います。(購入日の加算も同じように行います。)

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]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
-
4
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
5
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
6
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
7
access テキストボックスの値取得
Access(アクセス)
-
8
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
9
アクセスVBAで、フォームの値をレポートに代入したい
Access(アクセス)
-
10
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
11
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
12
access2019 チェックボックスと連動したクエリ抽出条件について
Access(アクセス)
-
13
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
-
14
Access ¥マークを表示しない
Excel(エクセル)
-
15
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
16
accessで未入力の場合にメッセージボックスを表示したい
Access(アクセス)
-
17
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
18
access マクロでのフィルタの解除の方法
Access(アクセス)
-
19
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
20
レコードを保存するコード アクセスvba
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
福祉事務所が、5月の特例加算10...
-
振替加算について
-
生活保護の障害者加算について ...
-
ACCESSで非連結のテキス...
-
自立支援医療(精神通院)の「都...
-
現在の医療制度の状況は?
-
寄付金と補助金と助成金ってど...
-
精神障害者が市役所に合格した...
-
セフレに携帯を見られそうにな...
-
お酒の特区制度
-
シェーグレン症候群東京で難病...
-
持続可能な社会保障にしていく...
-
高額医療費の申請について
-
更生医療の医療費について
-
自治体実証実験の費用負担について
-
補助金や助成金もらっている会...
-
法律と制度って違うんですか?
-
特定疾患医療受給者証を所持、...
-
何とか医療費の補助を受けられ...
-
助成金と奨励金の違い。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報