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で値を代入できないとは?
Visual Basic(VBA)
-
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
-
4
アクセスVBAのMe!と[ ]
Access(アクセス)
-
5
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
6
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
7
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
8
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
9
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
10
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
11
ACCESSでコントロールソースの変更
Access(アクセス)
-
12
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
13
AccessのフォームのテキストボックスにLOOKUPで表示したい
Access(アクセス)
-
14
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
15
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
16
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
17
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
18
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
19
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
20
アクセスのレポートに、フォームで算出した数字を表示させたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
障害者加算の障害者加算非該当
-
生活保護を受けています。障が...
-
生活保護の(精神)障害者加算に...
-
堺市の生活保護最低額
-
生活保護の障害者加算について
-
生活保護と特別障害給付金
-
生活保護の障害者加算について ...
-
障害者厚生年金(重度精神障害...
-
生活保護の障害者加算
-
障害者加算について
-
児童扶養手当と障害年金の子の...
-
自立支援医療(精神通院)の「都...
-
特定疾病の申請日と認定日
-
ひとり親医療費助成はMRIやCTに...
-
小児慢性特定疾病医療費助成に...
-
寄付金と補助金と助成金ってど...
-
セフレに携帯を見られそうにな...
-
精神障害者が市役所に合格した...
-
成績のことで教授にメールして...
-
ネットワークハードディスク(N...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
生活保護の貯金
-
ACCESSで非連結のテキス...
-
生活保護の障がい者加算
-
特別食加算と食堂加算について ...
-
生活保護の障害者加算について
-
生活保護の障害者加算について ...
-
精神障害者保健福祉手帳2級の...
-
生活保護費なのですが、障害手...
-
生活保護と特別障害給付金
-
生活保護で、2級精神障害者な...
-
生活保護で障害者厚生年金3級...
-
生活保護 養育手帳 障害者加算
-
生活保護の(精神)障害者加算に...
-
障害者加算について
-
生活保護精神障害加算金の件(不...
-
生活保護の加算
-
児童扶養手当と障害年金
-
生活保護の障害者加算
-
障害者加算の障害者加算非該当
-
生活保護障害者加算金は貰える...
おすすめ情報