• ベストアンサー

access2000表形式フォームから単票形式フォームで開きなおす方法

access2000でDBをつくっています 表形式フォームのNoフィールドをダブルクリックして、クリックしたレコードのみを 単票形式フォームで開く。ということをしたいのですが、 表形式フォームのほうに Private Sub   No_DblClick(Cancel As Integer) DoCmd.OpenForm "単票形式", acNormal, , [No] = Me![No].Value, , acDialog End Sub とVBAを書いているのですが、 Noの値が3のところをクリックしてもNo=1のレコードが先頭に開けてしまい、 望むような結果が得られません。 本3,4冊調べてもよくわからないので、 アドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yomo3
  • ベストアンサー率32% (88/269)
回答No.1

えーと、確認してる時間がないので、間違ってるかもしれません。 フォームにリンクしているテーブル(クエリ)を"tbl1"と呼びます。 tbl1を元に選択クエリを作ります。 全部のフィールドを表示する設定にします。 「フィールド」のところに"*"をいれるのですね。 で、[No]を「フィールド」に入れて、「抽出条件」のところに「Form!表形式フォーム!No」と入れます。 「単票形式フォーム」のリンク元テーブルをそのクエリにします。 そんで、ダブルクリックのイベントで単純に「単票形式フォーム」を開けばOKです。

mcurry
質問者

お礼

できました☆ミ ありがとうございました。ペコm(_ _;m)三(m;_ _)mペコ まえから、何時間も考えたり、しらべたりして悩んでいたのです。これができないと、いちいち、フォームを主手動でひらかなくてはならいので^^; 今後もいろいろとご相談するかもしれませんが、 よろしくお願いたします。

その他の回答 (1)

  • hakone8ri
  • ベストアンサー率18% (4/22)
回答No.2

私だったら、whereconditionでなくopenargsに[No]をセットして、単票フォームを呼び出します。単票フォームの「開くとき」のイベントプロシージャで、そのフォームのフィルター値として引き継いだOpenargsを利用します。 如何でしょうか・・・

関連するQ&A