• 締切済み

access 入力フォームにクエリを表示させたい

ある物件を管理しています。 T_物件情報 物件ID(オートコレクト)/物件名 T_水道検針 検針No(オートコレクト)/物件ID/検針日 T_検針明細 明細No(オートコレクト)/検針No/部屋番号/検針値 このようなテーブルがあり、F_水道検針で入力できるフォームを作りました。 T_検針明細はサブフォームになっています。 入力の際の見た目として、前回の検針値、使用量(今回から前回を引いたもの)を表示させたいと思っています。 一応クエリで前回の検針値を出すものQ_前回検針値を作りました。 それぞれ対応するものにリレーションを設定しています。 抽出条件として 物件ID [forms]![F_水道検針]![cmb物件ID] 前回検針日 [forms]![F_水道検針]![前回検針日] ←フォーム上で非連結テキストボックスです 部屋番号 [forms]![F_水道検針]![部屋番号] を設定しています。 サブフォーム上に非連結テキストボックスを2つ設置し、先ほど書きました前回の検針値、使用量を表示できればと思っています。フォーム自体のコントロールソースがT_水道検針、T_検針明細ですのでクエリをソースには持ってこれないですよね。どうすれば表示できるのかご教授いただければと思います。 とりあえずこのフォームを入力する際には見た目だけわかればいいので、このような質問をさせていただきました。 VBAは始めたばかりで参考書をみながらひとつずつやっている状況です。 マクロについても同じです。 また、後々請求書で計算をすることを考えるとテーブルの構築などから見直したほうがいいのかもしれません。 もっとよりよい方法がありましたらそれでもいいので宜しくお願い致します

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

水道の使用量は、各部屋の使用量で検針するんですよね? その合算が物件ごとの使用量でよいのですか? たとえば、玄関の掃除に使う水道とかが有ったりして。

komerice
質問者

補足

返事が遅くなりすみません。 使用量は各部屋ごとです。 各入居者への請求書に使いたいので物件ごとの合計はとりあえずは必要ないです。 物件の水道が個別に検針ではなくマンション一括の請求となっていて、個別にこちらで検針・請求をしなければいけないです。

関連するQ&A

  • access2007更新クエリの値をフォームから

    任意の値で抽出して、出したいのですが・・・。 SQL文 UPDATE T教育課程表登録詳細のコピー1 SET T教育課程表登録詳細のコピー1.課程ID = Replace([課程ID],"12","13") WHERE (((T教育課程表登録詳細のコピー1.課程ID) Like [Forms]![F_年度繰越処理]![テキスト旧_課程ID])); 抽出は出来ているのですが、この"12","13"をフォームから任意の値を入れたいのです。 12に "[Forms]![F_年度繰越処理]![テキスト旧_課程ID]" (フォーム上の値は12*) 12に "[Forms]![F_年度繰越処理]![テキスト旧2_課程ID]" (フォーム上の値は12) 13に "[Forms]![F_年度繰越処理]![テキスト新_課程ID]" (フォーム上の値は13) などと入れてみるのですが、変化なしです。 課程IDは12-11-1000のように10桁で、先頭の2文字を変換したいのです。 どうしたら出来るのでしょうか。 accessかじりかけなので、自分ではお手上げです。よろしくお願いいたします。

  • フォームの再表示に関して

    過去の質問にも同じようなものがありましたので、参考にしながらやってみたのですが、うまくいかなかったので質問させて頂きます。 Windows2000・アクセス2000を利用しています。フォーム上で非連結のテキストボックス1つとサブフォームを作成しています。テキストボックスに[No]を入力で指定すると、テキストボックス更新時にサブフォームの内容が、その[No]のデータのみに抽出されて再表示するようにしたいと思っています。 SQLで並べ替えと抽出をしています。コードは下記のような感じで作成しています。 Private Sub 検索No_AfterUpdate() Dim Db As Database Dim Qd As QueryDef Dim No As Integer Dim Sql_Str As String Set Db = CurrentDb Set Qd = Db.QueryDefs("Q_抽出") No = [検索No].Value Sql_Str = "SELECT T_テンプレート明細.*" & _ " FROM T_テンプレート明細 INNER JOIN T_テンプレート ON T_テンプレート明細.テンプレートNo = T_テンプレート.テンプレートNo" & _ " WHERE [T_テンプレート明細].[テンプレートNo] = " & No & _ " ORDER BY [T_テンプレート明細].[テンプレートNo], [T_テンプレート明細].[テンプレートID];" Qd.Sql = Sql_Str サブフォーム名.Requery Qd.Close Db.Close End Sub サブフォームをrequeryすれば再表示するのかなと思っているのですが・・・・テキストボックスに更新をかけた後にクエリを確認するとSQLは一応指定出来ているようです。簡単な説明で分かりにくいかもしれませんがよろしくお願い致します。

  • サブフォームからフィルターをかけてフォームを開く。

    いつもお世話になっております。 テーブル(T_弁護士)とテーブル(T_案件)の 二つを作成し、それを基にして、 それぞれ(F_弁護士)と(F_案件)があります。 F_弁護士フォームにはサブフォームを作成して そこにT_案件のうち個々の担当する案件の一覧を データシート形式で表示させています。 このサブフォームはクエリー(Q_弁護士から案件)を 基にしたフォーム(SF_弁護士から案件のサブフォーム)で、 そのクエリーではT_弁護士とT_案件を T_弁護士の氏名フィールドを(1) 対 T_案件の担当者名(多)でリレーションシップを組み T_案件の案件名の抽出条件 (Like "*" & [forms]![F_弁護士]![氏名] & "*")と 設定して、複数の案件の一覧を表示させています。 そして、このサブフォーム (SF_弁護士から案件のサブフォーム)の一覧から それぞれの案件IDをクリックして 個々の案件を特定し、F_案件で 表示オープンさせたいと考え、 クリック時の埋め込みマクロで フォームを開く[F_案件]、 Where条件式、 [ID]=[Forms]![SF_弁護士から案件のサブフォーム]![ID] としたところパラメーターの入力というダイアログ ボックスが出て [Forms!SF_弁護士から案件のサブフォーム!ID] というふうに いちいちIDの入力を求められます。 その都度、IDを入力すれば表示オープンさせられるのですが、 これを解消して直にクリックしたIDの案件を 表示させたいのです。 皆様、何かとお忙しいとは存じますが どうかお知恵をお貸しください。 どうぞよろしくお願いいたします。

  • access 他テーブルを参照して入力

    参考書、検索などで調べてみたのですが、該当する答えが見つけられなかったので質問します。 T_入居者情報  入居者ID(オートコレクト)/入居者名/契約家賃/契約共益費/水道料金 T_請求管理  請求No(オートコレクト)/請求年月/入居者ID/請求家賃/請求共益費/水道料金/その他請求 このようなテーブルを作成しています。 毎月請求書を発行するのですが、家賃、共益費は基本的に変わらないのでT_入居者情報から参照してそれぞれの規定値にさせたいと考えています。イレギュラーその月だけ変更の可能性もあるので確定ではなく規定値にできればと思います。 複雑なのが、水道代は固定の場合,検針して毎月金額が変わる場合とあり、区別する為にT_入居者情報では水道代を検針か金額を入力するようになっています。 検針と金額でデータ型が一致しないのでテキスト型にしており、クエリQ_水道代テキスト抽出でテキストを抽出し数値に変換するものを作りました。 請求の水道代はそのクエリから参照できればと思います。リレーションを設定しているのでクエリで家賃、共益費を表示させることもできています。 このような場合はどのようにすればいいのか教えていただければと思います。 構成、考え方自体がよくない場合もあると思いますので,アドバイスがあればお願いします。 VBA・マクロは参考書をみながらひとつずつやっている超初心者です。 宜しくお願いします。 昨日も質問しており、そちらももしアドバイスがあればお願いしたいです・・・ http://okwave.jp/qa/q7597475.html

  • Accessのフォームで思った順番でレコードが表示されない

    こんにちは Accessのフォームで受注管理を作成しています。 メインフォームには ・伝票番号 ・顧客番号、顧客名 ・担当部署、担当者名 サブフォームに ・明細番号、商品ID、商品名、単価、個数、金額 としていますがフォームを開くと伝票番号順にレコードが並ぶのが希望なのですが顧客番号順に並びます。 例)希望 伝票No 1  顧客番号 001 ・・・・・ 伝票No 2  顧客番号 010 ・・・・・ 伝票No 3  顧客番号 009 ・・・・・ 伝票No 4  顧客番号 001 ・・・・・ 現状 伝票No 1  顧客番号 001 ・・・・・ 伝票No 4  顧客番号 001 ・・・・・ 伝票No 3  顧客番号 009 ・・・・・ 伝票No 2  顧客番号 010 ・・・・・ 伝票番号順にしたい場合どこを確認すればよいかご存知の方がおられましたらご教示いただけますようお願いいたします。

  • クエリ抽出条件を動的に変更したい

    Win XP Access2003 顧客情報を入力するメインフォーム1に商品明細を入力するサブフォーム(帳票)のある 伝票作成用のフォームを作っています。 (サブフォームは選択クエリが元になっています) 入力用にはフォーム1を使い、その後確定した伝票はメインフォーム2で扱いたいのです。 商品明細(帳票サブフォーム)の内容は同じなので、クエリの伝票番号(フィールド)の 抽出条件を フォーム1で開いた時に[forms]![フォーム1]![txt伝票番号] フォーム2で開いた時は[forms]![フォーム2]![txt伝票番号] の様に動的に変更したいのですが,よい方法がありましたら宜しくお願い致します。

  • AC2000でフォームから入力したデータをサブフォームに表示

    ID 商品名 単位 単価で商品マスタフォームを作っています。このフォーム内にサブフォームを作っておいて データが入力するたびにサブフォームへ表示させたいのですが、このときの条件としてID(オートナンバー)を降順(最新のデータが一番上になる)・データシート形式にしたいと思います。 T_商品(テーブル名) Q_商品(IDを降順としたクエリ) MF_商品(各入力テキストボックスがあるフォーム) SF_商品(MF_商品に貼り付けるサブフォーム) 降順にすると一番若いIDのデータだけがサブフォームに 表示されるのです。 requeryは必要なのでしょうか? よろしくお願い致します。

  • ACCESS フォームで前と同じ情報を表示

    ACCESS2000を使用しています。 テーブル名 在庫T フォーム名 在庫F となっています。 テーブル及びフォームにITEM NOの項目があり 同じ商品で搬入日が違う為 繰り返しITEM NOを入れることが多いです。 そこで次のフォーム上に入れる際に前回入れた商品番号をフォーカス取得時に表示したいです。 商品番号が変われば上書きしていく様にしたいです。 よろしくお願いいたします

  • Accessのフォームでの合計欄を二つにわけたい

    テーブル1;売上明細T フィールド名;売上明細番号、商品コード、数量、摘要 テーブル2;商品T フィールド名;商品コード、商品名、単価 クエリで売上明細と商品Tをつなぎ、下記のように表示します。 商品コード 商品名 摘要  数量  単価 明細計                  (数量*販売単価) 001    物件1  作業代  1  500 500 002    物件2  作業代  2  400 800 051    物件51  作業代  1  500 500 051    物件51  交通費  1  350 350  上記クエリを元にフォームを作成(帳票形式)して、 テキストボックスで課税対象計(作業代計)と、非課税対象計(交通費計) のボックスをもちたいのですが可能でしょうか? 最終的には、売上伝票フォームに売上明細フォームをサブフォームで 取り込み、売上伝票上で合計金額を表示させたいと思っています。 よろしくお願いします。

  • ACCESSについてご質問です。

    バイト勤務管理表を作成しようとしています。メインフォームを「f_支給明細」,サブフォームを「f_支給明細サブ」としています(※メインフォームは,支給明細番号を1つのレコードとしています。)。 行いたいのは,サブフォームの「日付」の最新レコード(最新行)と,次候補最新の「日付」の値をピックアップしてメインフォームに表示させようとしています。 現在は,サブフォームのレコードソースを「t_支給明細サブ」として,「t_支給明細サブ」のフィールドに「日付」があり,メインフォームのコントロール名とコントロールソースをそれぞれ, 最新日付改 = Dmax("日付","t_支給明細サブ") 直前最新日付 = Dmax("日付","t_支給明細サブ","日付 < #" & 最新期日改 & "#") としています(※期日フィールドは,日付型)。 以上により,メインフォーム上に,日付を表示させることができたのですが,支給明細番号のレコードに関係なく,「t_支給明細サブ」の最新日付とその直前最新日付が表示されます(※例えば,支給明細レコードが「001」であっても「002」であっても,表示される日付は「2011/02/10」,「2011/02/18」であり同じ。)。 今回,教えたいただきたいのは,メインフォーム「f_支給明細」の支給明細番号ごとに,その画面上に表示されているサブフォームの最新日付等を表示させる方法です(※例えば,支給明細レコード「001」であれば,「2011/01/05」と「2011/02/10」,「002」であれば,「2011/02/05」と「2011/02/18」など。)。 知識不足のためにうまく説明ができてないかと思いますが,どなたか教えていただければ幸いです。

専門家に質問してみよう