• 締切済み

レコードの移動をVBAで行いたい

ACCESSのフォームで、サブフォームで一覧表示されたレコードをクリックすると、フォーム上にそのレコードの詳細を表示できるようにしたいです。 画像で赤丸を付けているレコードセレクタバーの「検索」をVBAで再現できるとうまくいきそうなのですが、可能なのでしょうか。 それ以外の方法でも、詳細表示が可能な方法があればご教授お願いいたします。

みんなの回答

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

>ACCESSのフォームで、サブフォームで一覧表示されたレコードをクリックすると、  フォーム上にそのレコードの詳細を表示できるようにしたいです。  画像で赤丸を付けているレコードセレクタバーの「検索」を  VBAで再現できるとうまくいきそうなのですが、可能なのでしょうか。 ★お考えの通りではありませんが  データマスターだけで、各フィールドに分類機能、フィルター機能が備わっています。  添付図をご覧ください。性別の右の▼をクリックしたところです   >それ以外の方法でも、詳細表示が可能な方法があればご教授お願いいたします。 ★選択クエリーによる検索方法もありますがVBAは暫くお預けです  これは、検索テーブルとして趣味テーブル、性格テーブルを用意します  クエリーによる検索はクエリを開く前に年齢、身長、体重、のテキストボックスと、性格と趣味のコンポボックすを  別のフォームに配置してこのフォームから開きます ※テーブルとリレーションシップはAccessの核に当ります。  先ず、ここをマスターして下さい 1.ID:テーブルデザインで半自動で主キーが作成されます。  原則これはそのまま残します。  (フォーム上に配置する必要はありません) 2.氏名:インデックスプロパティで重複なし    :フリガナ 3.年齢:起算日を何時(現時点、入社時点、退社時点当)     にするかで変動するので不要です。 4.リレーションシップのあるテーブルをルックアップ

sasukehana123
質問者

お礼

ご回答ありがとうございました。引き続き勉強いたします。

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.1

メインフォームの各コントロールのコントロールソースを下のサブフォームの同一コントロールに設定してくみてください。 IDののソースは =[データマスタのサブフォーム].[Form]![ID] になると思います。 コントロールソースのボックスの右にある[…]をクリックしてダイアログで選択して下さい。

sasukehana123
質問者

お礼

ありがとうございました。ひとまずは解決することができました。

関連するQ&A

  • レコードの削除ができない

    アクセス2007です。 デザインで一つのフォームを作り そこにテーブル1をドラッグしてサブフォームにしました。 そしてサブフォームのテーブル1はデータシートビューで表示しています。 例えば、画像のように4レコード目を削除しようと思いカーソルを持っていき 右クリックすると 「レコードの削除(R)」が選択できない状態です。 2007では、サブフォームでレコードの削除はできないのでしょうか? アドバイスよろしくお願いします。

  • 指定した文字を検索しそのレコードに移動したい

    アクセスのフォーム上のレコードで 会社名 AAA会社 CCC会社 BBB会社 ・ ・ ・ となっていて、 「BBB会社」をvbaで検索しつつ、 そのレコードに移動するにはどうすればいいでしょうか? GoToRecordメソッドを使う事はわかったのですが、 「BBB会社」を検索しつつ、そのレコード番号を取得し・・・ と言う処理がわかりません。 レコード番号さえわかれば、GoToRecordメソッドで 移動できる気がします。 会社名のレコードが入っているフォームは サブフォームとなっています。

  • レコードをダブルクリックすると別フォームでひらく

    ACCESSのVBAに関する質問です。 「main」フォームで書籍の一覧表を表示させています。 レコードにある「書名」をダブルクリックすると 「input」(編集用)サブフォームに その書籍の詳細が表示されるようにしたいです。 色々調べてみて DoCmd.OpenForm "input", , , "ID=" & Me.ID 上記のように表記して作動させてみたのですが 「input」フォームのプロパティにフィルタがかかってしまいます。 (どうしてこのようになってしまうのかが分からないので  説明が曖昧ですみません。。。) Dim strData As String  strData = Me!ID こんな感じでやるのではないかなー、 と漠然と考えているのですが この先どうやっていいのかがわかりません。 教えてください!

  • accessでのレコード移動について

    いつもお世話になっています。 アクセス初心者です。宜しくお願い致します。 現在、アクセスを用いて納品書を作成しています。 フォームにお客様情報、サブフォームに納品品目情報を入力。 フォームヘッダーに印刷ボタンを作り、納品書を印刷すると同時に、 そのレコードの印刷済みチェックボックスがオンになる 仕様になっているのですが、 情報を入力してもすぐその日には印刷をせず、 のちに、その印刷をしていないレコードを表示させて、 あらたに情報を追加入力後、改めて印刷をする事があります。 そこで質問なのですが、 今回、このフォームに検索ボタンを作り、 印刷済みチェックボックスがオフになっているレコードを 表示させようと思うのですが、どのようにしたらよいのでしょうか? ボタンを押すごとにまだ印刷していないデータだけが 次々表示されるボタンの作り方をご教授願えればと思います。 どうか宜しくお願い致します。

  • サブフォームの新規レコードに移動したい アクセス

    親フォームのコマンドボタンをクリックしたら 親フォームにはまっているサブフォームの新規レコードに移動したいのですが、 うまくできません。 サブフォームのオブジェクト名は、"F_SubForm"です。 サブフォームはデータシートビューです。 VBAコードは Private Sub cmd_test_Click() DoCmd.SelectObject acForm, "F_SubForm" DoCmd.GoToRecord , , acNewRec End Sub です。 上記コードを実行すると DoCmd.SelectObject acForm, "F_SubForm" の部分で、 「実行時エラー 2489  オブジェクトが開いていません。」 となります。 だからと言って、 DoCmd.GoToRecord , , acNewRec だと、何も起こりません。(新規レコードに移動しません) 解決方法をご教授ください。

  • アクセス2003 VBAについて

    アクセス2003VBA初心者ですが、誰が解る方詳しく教えていただけますか? 検索フォームで検索した結果を、別フォームに表示を行い、詳細ボタンを押下すると、選択したレコードの詳細フォームを開く すみません。質問事体が言葉らずかも知れませんが、よろしくお願いいたします。

  • Access2013 vbaサブフォームのレコード

    [Access2013 vba] ■したいこと サブフォームのレコードの中から、一レコードだけをチェックボックスなどで選択したいのですが、どのようにしたら出来ますでしょうか。 複数行選択は出来ないようにしたいです。 選択したのち、メインフォームの選択ボタンを押すと、そのレコードのID番号を取得して、呼出元のフォームのIDフィールドに代入したいです。 ■画面の流れ・・・ Aフォーム → 帳票型Bフォームで、レコードを選び「開く」ボタンを押す→ B 'メインフォームとCサブフォーム)が開く Cサブフォームのレコードをチェックボックスにチェックを入れて選択する B ' メインフォームの「選択」ボタンを押すと B ' メインフォームと、その前のBフォームが閉じて Aフォームに戻り、AフォームのIDフィールドに選択したIDが格納される。 よろしくお願いします。

  • カーソルが次のレコードに移動する

    ACCESS2010を使用しています。 単票形式のメインフォームに、帳票形式のサブフォームが2つあるフォームを作成しています。 メインフォームには項目が20個程、サブフォームは共に4つ程の入力項目があります。 サブフォームとメインフォームのカーソルの移動にマウスを使用するのが面倒なので、PageUp/Donwキーを使用するようにしているのですが、PageDownキーを使用した時に何故なのか分からない現象が起きます。 入力済みのレコードを画面上に呼び出しPageUpキーを押すと、2つ目のサブフォームの入力済みレコード1件目の1個目の項目にカーソルが移動し、更にPageUpキーを押すと1つ目のサブフォームの入力済みレコード1件目の1個目の項目にカーソルが移動します。 ですが、PageDownキーをした時、1つ目のサブフォームへの移動はPageUpキーと同じ結果ですが、更にPageDownキーを押し2つ目のサブフォームに移動した時、入力済みのレコードではなく新しいレコードの1個目の項目にカーソルが移動してしまいます。 フォーム自身にもVBAにもそのような制御やコードは書いていないのですが、何故動きが異なるのかが分かりません。 ヒントになるような事でも結構です。

  • ACCESSのフォーム内のレコードへのサブフォーム内のレコードの表示

    いつも色々な方々に大変お世話になっております。 今回は見積書というフォームの中に、得意先一覧というサブフォームがあり、その得意先一覧にはもちろん得意先の名前があります。 現時点では、見積書フォーム内の得意先名レコードにコンボボックスを設置して選べるようにしてあります。 これを得意先一覧サブフォームの中から、見積書フォーム内の得意先レコードに表示させたい、得意先名をダブルクリックすると転記されるようするのは可能でしょうか? 宜しくお願いします。

  • アクセスで指定したレコードをフォームで開く方法?

    アクセスで、帳票形式のフォームで選択したレコードの内容を、詳細を表示する用のフォーム(単票形式)で開きたいのですが、どうしたらよいのでしょうか?(初心者です) 例えば、帳票形式のフォームで「予約番号:1」のレコード 選択した状態で、ボタンをクリックすると、 詳細を表示する用の単票形式のフォームの「予約番号:1」のレコードが表示されるようにしたいのです。 マクロでは出来なそうなので、VBAで・・・というところまでしか検討がつきません。 使用しているのはアクセス2002です。 どなたかご存知の方がいらっしゃいましたら、教えてください。よろしくお願いします。

専門家に質問してみよう