• 締切済み

[ACCESS]フォームで、レコードを抽出して編集するには?

ACCESS2003、初心者です。 納品テーブルを作成して、それをフォームで入力しています。 フィールドは、 ID,製品名,セイヒンメイ,メーカー,仕入先,単価,在庫数,残高 です。 納品テーブルのレコードを元にフォームを作成したいのですが悩んでいます。 (1).納品テーブルから、表形式で商品レコードを並べて表示させる (2).セイヒンメイでグループ化。 (3).セイヒンメイを昇順で並び替え (4).在庫数、残高を編集 (1)~(4)の作業を行いたいのですが、いろいろ試した結果、うまくできません。 テーブル作成クエリ→実行→在庫フォーム開く(この場合のソース元はクエリ) のパターンで可能だったのですが、フォームを開いた時にグループ化や並び替えを行う方がスマートなので実現したいのです。 もしくは、フォーム上でコマンドボタンを押せばグループ化や並び替えができればそれでも構いません。 いろいろ調べて、SQL(GROUP BYやHAVING)を使わないと駄目なようですが、どのようなコードを書いたらよいのでしょうか?

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

どちらかと言うとサブフォームを使う形式ではないでしょうか? 納品テーブルで「セイヒンメイ」だけを並べ替えてグループ化した集計クエリを作成します。 納品テーブルでサブフォームとなるフォームを作成します。 集計クエリでフォームを作成、「セイヒンメイ」で連結したサブフォームを設定します。 こうすればグループ化した上でデータ編集できますが...

kanames
質問者

補足

お返事有難うございます。 御指示通りに試してみましたが、 この方法だと一覧表(表形式フォーム)ではできないというエラーメッセージが出てきました。 表形式ではなく、単票形式で作ってみたところ、 確かに編集可能な状態になりました。 しかし、どうしても一覧表のように表示させ、 それを編集したいのです。 希望している方法は難しいのでしょうか?

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

グループ化したら、フォームでは編集できませんよ? グループ化ではなく、センヒンメイで抽出するようにしては? #たぶん、クエリのグループ化とレポートのグループ化とを混同していると  思います。

kanames
質問者

補足

お返事有難うございます。 グループ化について混同してました。 専門書やネットで調べてはいるのですがセイヒンメイで抽出する方法ががさっぱりわかりません。 具体的にどうしたらよいのでしょうか? 勉強不足で申し訳ありません。 ご鞭撻頂けたら幸いです。

関連するQ&A

  • [ACCESS]クエリで抽出したレコードをデータシートビューで編集するには?

    ACCESS2003です。 クエリで集計&グループ化したレコードをデータシートビューで編集したいのですが無理なのでしょうか? クエリ内容 フィールド |集計   |並び替え|抽出条件 製品名   |グループ化|    | セイヒンメイ|グループ化|昇順  | 販売元   |最後   |    | 単価    |最後   |    | 在庫    |最後   |    | 残高    |最後   |    | 製品区分  |     |    |<=6 クエリ実行後の「在庫」と「残高」は空なので データシートビューで編集(追加)したいのですが 無理なのでしょうか? 抽出したレコードの一覧で編集、追加を行いたいのです(エクセルのような感じ)が、 クエリではなく他の方法で可能であれば教えてください。

  • Accessフォームの新規レコードについて

    いつもお世話になっています。 Access2000でフォーム作成をしているときにちょっと詰まってしまいました。 クエリからフォームの作成を行うと、フォームの新規レコードの追加ができないんです! テーブルからフォームを作成する場合は新規レコードの追加は可能でした。 クエリがあるとどうしても新規レコードの追加ができなくなってしまいます。 クエリからフォームを作成して、新規レコードの追加を行えるようにすればどうしたらいいんでしょうか? よろしくお願いします。

  • アクセスでフォームでレコード編集、追加不可能

    エクセル2010でデータをテーブル作成をしました。アクセス2010でインポートして、インポートしたテーブルでフォームを作成。作成したフォーム使用して、データ変更できない。初心者用のテキストでは、フォーム・クエリから、レコード追加、既存レコードの編集が可能とありました。初心者なので、教科書通りでないと、何処が、どの様になり、フォームで追加、編集が不可能か分かりませんので教えて下さい。 ※OKWAVEより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • 一覧フォームのレコードの並び替え

    常々実現したいと思っている事として、一覧フォームのリアル並び替えがありました。軽薄な知識ならではの発想かもしれませんが、レコードソースが切り替えできれば可能になるかもと考えまして、相談させていただきました。 ●実現したいこと 一覧フォームにコマンドボタン「2個」を配してレコードの並び替えを実現したい。 ●実現のイメージ 1、オブジェクトのイメージ ・クエリを2つ作成「昇順用と降順用」する。 ・一覧フォームにコマンドボタンを2つ配する。 2,運用イメージ ・一覧フォームに配したコマンドボタン「2個」で昇順と降順をリアルに切替える。 ・デフォルトは昇順とする。「開くときは昇順のデフォルト表示」 ●対象の一覧フォームと構成 ・フォーム名 「F_入出庫入力」 ・レコードソース名「Q_入出庫入力」 ・並び替えキーフィールド「商品ID」 ◆希望(分からず勝手を申し上げます) 現状の構成を生かして「あまり作り変えないで」、希望「リアルに昇順表示と降順表示」を実現させたいと思っています。 以上ですが、宜しくお願いします。

  • ACCESSクエリの任意のレコードを抽出したい

    初心者ですのでよろしくお願いします。 ACCESS2002で現金出納帳テーブルを作成し、それから科目別のレコードを抽出する選択クエリを作成しました。 (例.交際費クエリ、贈答費クエリ、会議費クエリ等) これらのクエリではVBAで取引レコードごとに残高を算出するようにしています。 期末時点で、これらの科目別クエリの最終残高(一覧表形式の最終行にある残高)をそれぞれ抽出して、別に各科目の期末残高だけをのテーブルかクエリを作成したいのですが、いい方法はありませんでしょうか? よろしくお願いします。

  • フォームのレコードソース(Access2000)

    質問させていただきます。 フォームの「レコードソース」でテーブルとクエリーのほかに、「SELECT テーブル名、フィールド名・・・」というのがあります。これもクエリーなのでしょうか? ちなみに、レコードソースの右にある「---」をクリックすると「SQLステートメント:クエリビルダ」というものが開きます(クエリー画面と同じ?)。 また、フォームのレコードソースはテーブル、クエリー、SOLステートメントのどれにすれば良いのでしょうか?

  • Accessでフォームからレコードの追加について

    Access2016をWindows10で利用しています。 あるテーブルの単票形式のフォームをフォームウィザードから作成しました。 入力規則などがテーブルの各列の設定に沿って作成されていてとても便利なのですが、フォームにいくつか値を入れた時点でレコードが新規追加されてしまいます。 レコードの追加を、すべての入力が終わって「新規追加」ボタン(あとから自分で作成)を押してから行いたいです。 レコードウィザードを使わずにフォームを作成し、フォームの値とクエリを結び付けてボタン押下時にクエリを実行する、というフォームにすれば実現できると思うのですが、それはなかなか手間がかかってしまうので出来るだけ簡便に実現できたらと考えています。 細かい話なので参考ページ、あるいはヒントになる検索キーワードを教えていただけないでしょうか m(‗ ‗)m ?

  • Accessのサブフォームからフォームフィルタを使ってメインフォームも含めたレコードの抽出が出来ないのは何故でしょうか?

    フォームフィルタを利用してサブフォームに入力されている値でレコードの抽出を行いたいのですが、うまくできません。 メインフォームが持っているレコード全てを持ってきます。 メインフォームに含まれているデータが100件なら、それ全てを表示してしまうということです。 私が抽出したいレコードは2件だけです。 メインフォームからフォームフィルタを利用して抽出すると正しい結果が得られます。 これはどうしてでしょうか? サブフォームへの設定が何か足りないのでしょうか? 親・子のフォームのテーブルは同一のものです。 カテゴリーで親と子にフォームを分けました。 親にはクエリはなくて、リレーションシップしたテーブル数種から直接フォームにひっぱってあります。 子は一つのテーブルからクエリを作って、そのクエリからフォームに引っ張っています。 Access2003です。 どなたかご教示いただきますようお願いいたします。

  • Access フォームのレコードソースに選択クエリを設定した場合のレコード削除

    ACCESS2003を使用しています。 フォームでレコードソースをあるテーブルの選択クエリにしています。 フォームはデータシートビューでレコードを右クリックして削除すると、 削除されますが(画面上からは消えますが)、フォームを再立ち上げすると 元に戻っています。 よく見ると選択クエリからレコード削除しても元のテーブルからは 削除されません。 こういうものなのでしょうか?

  • ACCESS2000でクエリで抽出したレコードをフォームに表示するには

    A顧客テーブルで作成したフォームからコマンドボタン(電話番号検索)押下時に 電話番号入力画面が出て入力した電話番号とマッチした顧客レコードをフォームに 表示させたいのですが上手く出来ません。 現在進めている方法では何がダメなんでしょうか(以下は考え方) A顧客テーブルから作成したフォムに電話番号コマンドを作成してコマンドを 押すとクエリの実行をさせる。クエリはA顧客テーブルのフィールドを全て選択して抽出条件に[電話番号入力]としている。 (結果) ・フォームを開くと先に電話番号入力が出てくる、先にフォームが開かない。 ・電話番号検索コマンドボタンを押すと抽出条件に合ったレコードはデーターシートビューに表示される。 よろしくお願いします

専門家に質問してみよう