アプリ版:「スタンプのみでお礼する」機能のリリースについて

どうしてもうまくいきません。
どなたかご教授をお願い致します。
Accessでフォーム「F_検索」があります。このフォームは条件集中し、サブフォームにデータ表示さます。
サブフォームからセレクタをダブルクリックすると別フォーム「F_コメント」が立ち上がり表示したい。
その表示は、「F_検索」から引き継ぎ、フィールド「試料番号」を検索したい。
「F_検索」と「F_コメント」は別テーブルです。
keyは「試料番号」です。
Private Sub Form_DblClick(Cancel As Integer)
 DoCmd.OpenForm "F_コメント", acNormal, , , , , CStr(Me.試料番号)
 DoCmd.FindRecord strCondition, acEntire
end sub
どうしたらできるのかさっぱりわかりません。
よろしくお願い致します。

質問者からの補足コメント

  • つらい・・・

    bonaronさん 説明不足ですみません。
    今も色々調べてコード書き換えてみました。
    こうなって欲しいことは、
    ①F_検索で条件抽出、F_sub検索に絞り込んで表示 
    ②絞り込んだ試料番号(主キー)データをダブルクリック   
    ③別のフォームが立ち上がり   ←ここまではできました。
    ④帳票で表示
    ④番ができません。
    よろしくお願い致します。

    「Accessでセレクタをダブルクリックで」の補足画像1
    No.1の回答に寄せられた補足コメントです。 補足日時:2022/12/20 12:53
  • へこむわー

    ご返答ありがとうございます。
    完全一致でレコードを表示したいです。
    このコードの意味は
    DoCmd.OpenForm "F_コメント", acNormal, , "試料番号=" & Me.試料番号
    1、フォームを開いて
    2、開いたフォーム番号は"2"
    3、試料番号を入れる
    というようなことでしょうか?
    acNormal, , のカンマはどういう意味でしょうか?
    "型が一致しません"と出ます。
    何度もすみません。

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/12/20 16:36

A 回答 (3件)

とりあえずヘルプをご覧ください。


DoCmd.OpenForm メソッド (Access)
https://learn.microsoft.com/ja-jp/office/vba/api …

4番目の引数 WhereCondition で 渡した条件式で フィルターをかける、
ということです。
もし表示されているなら、
リボンの「フィルターの実行」がオンになり
フォームの移動ボタンでは「フィルター適用」となっているでしょう。
ついでに イミディエイトウィンドウで
? screen.activeform.filter エンター で
試料番号='指定した実際の番号'
と表示されるはずです。


> acNormal, , のカンマはどういう意味でしょうか?
3番目の引数 FilterName が省略されている、ということです。

> 型が一致しません
「試料番号」は テキスト型でしたか。(左に寄ってますね)

"試料番号=" & Me.試料番号

"試料番号='" & Me.試料番号 & "'"
にしてください。
    • good
    • 0

目的の「試料番号」だけを開くなら 引数 WhereCondition を渡すのが一番簡単です



Private Sub Form_DblClick(Cancel As Integer)
 DoCmd.OpenForm "F_コメント", acNormal, , "試料番号=" & Me.試料番号
end sub

OpenArgs で渡した場合、受け取った側での処理が必要になります。

すべてのレコードを開いておいて目的のレコードに移動したいなら
(前後のレコードに移動して、参考にしたい場合など)
いろいろなやり方があります。
この回答への補足あり
    • good
    • 0

> どうしてもうまくいきません。


どううまくいかなかったのでしょうか。

エラーが起きる。
フォームが開かない。
こうなって欲しいのに、こうなってしまう。
等々。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!