• ベストアンサー

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冊調べてもよくわからないので、 アドバイスお願いします。

  • mcurry
  • お礼率73% (167/228)

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

  • ベストアンサー
  • 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

  • 「DoCmd.OpenForm」が実行できない(vbaでフォームを開きたい)

    「フォーム1を開く」vbaで行ないたいのですが エラーになってしまいます。 Sub test1() DoCmd.OpenForm , acNormal, フォーム1 End Sub は「変数が定義されていません」と表示され (「変数の宣言を強制する」にチェックを入れています) Sub test2() DoCmd.OpenForm , acNormal, "フォーム1" End Sub は「引数は省略できません」となります。 Sub test1() DoCmd.OpenForm , フォーム1, acNormal End Sub Sub test2() DoCmd.OpenForm , "フォーム1", acNormal End Sub これにしても同じでした。 「OpenForm」をヘルプで調べてみたところ 「expression 」と「FormName」が「 必ず指定します。」でした。 「expression 」がないからだめなのでしょうか? すいません、助けてください。 よろしくお願いします。

  • 表形式を単票形式へ

    アクセス2003の フォームで もともと表形式だったものを単票形式したいのですが デザイン→ページヘッダー、フォームヘッダーを表示させただけでは駄目なのでしょうか? 一行づつしか表示できません。 ご教授よろしくお願いします。

  • 単票フォームと帳票フォームを連動 アクセス

    どういう構成にすればいいか教えてください。 元データはT_testのみですが T_testを元に、単票フォームと帳票フォームを作り、 この二つのフォームをサブフォームにし、1つの親フォームにはめて、 帳票フォームのレコードをクリックする(カレントレコードが変わる)度に 単票フォームは、帳票フォームのデータを表示させたいのですが どうすればいいでしょう? レコードソースは親フォームに設定すればいいのでしょうか? それとも単票フォームと帳票フォームそれぞれにT_testを設定すればいいでしょうか? 帳票フォームのレコードをクリックして単票フォームのデータを表示させる際は、 帳票フォームの値を取得して単票フォームにフィルタをかければいいのでしょうか?

  • ACCESS フォームの操作

    下記のようなことが可能であれば、方法をご教授願います。 まず、構造 フォーム2つ 1.メニュー…コマンドボタン2つ(BT11とBT12) 2.メイン  …コマンドボタン3つ(BT21とBT22とBT23) やりたいことは、 BT11とBT12のクリックイベントでどちらもメインフォームを表示 ただし、 BT11クリック時はacFormAddでメインフォーム上にBT21、BT23だけを表示し、 BT12クリック時はacReadOnlyメインフォーム上にBT22、BT23だけを表示 です。 フォームの表示は出来ましたが、 コマンドボタンの表示/非表示が切り替わりません。 sub BT11_Click() 1行目 DoCmd.OpenForm "フォーム名", acNormal, , acFormAdd, acDialog 2行目 Forms!メインフォーム!BT21.Visible = True end sub BT11をクリックしたときは、1行目でとまっているようです。 メインフォームを閉じるときに2行目を実行しようと するようで、メインフォームがないというエラーがでます。 宜しくお願い致します。

  • 帳票から単票フォームへの表示がうまくいきません

    ACCESSを始めたばかりです。 帳票表示されているレコードを単票フォームで表示させたいです。 テーブル「売上データ」がありこのテーブルを使って帳票用と単票用のクエリを作成、それぞれに対してフォームを作っています。 「売上データ」には、オートナンバーで No があり、これを主キーにしてあります。 クエリ Q帳票   フォーム F帳票 クエリ Q単票   フォーム F単票 フォームF帳票には、レコード内にボタンをおきました。 ボタンには、下記のマクロをつくって イベント クリック時 のところにいれました。 マクロ フォームを開く  フォーム名 :F単票  ビュー   :フォームビュー  フィルタ名 :  Where条件式 :[No]=[Forms]![F帳票]![No]  データモード:  ウィンドウモード:ダイアログ フォームF帳票 で、検索窓を作って検索した一覧の中から単票表示したいレコードのボタンをクリックして単票フォームをダイアログで開かせたいです。 上記のようにやってみたのですが、単票フォームは開くもののデータは空白になってしまいます。 ちなみに、作ったマクロを実行してみると Forms!F帳票!No とパラメータの入力を求められるので適当な数字をいれるとその数字に該当した単票フォームが開きます。 WEBで探して同じような感じで作ってみたのですがうまくいきません。 どこが間違っているのでしょうか? ちなみにクエリ Q単票 の Noの抽出条件に[Forms]![F帳票]![No]をいれてみたりもしましたがうまくいきませんでした(空白で単票が開く) 何卒よろしくお願いします。

  • クエリを元に単票形式のフォームを作成したい。

    初歩的な質問ですみません。 期日切れのレコードだけを抽出するクエリを作成し、 それを単票形式のフォームで作成しようとしたのですが、作成できません。 手順は、 (1)フォームの新規作成をクリック (2)オートフォーム:単票形式を選択 (3)元となるテーブルまたはクエリの選択:該当のクエリを選択 (4)OKをクリック …しかし、何も起こりません。 原因は、抽出すべきレコードが無いからかと思い、 抽出条件に該当したレコードを作成しましたが、同じ結果でした。 一体、何が原因なのか分からず、皆さんに相談させていただきました。 よろしくお願いします。

  • ACCESS サブフォームのビューが単票形式にならない

    ACCESS初心者です。 フォームの中にサブフォームを作成しました。 単票形式にしたいのですが、デザインビューでは単票形式なのに、フォームビューに切り替えると表のようになってしまいます。 サブフォームを単票形式にするにはどうしたらいいでしょうか。

  • ACCESS VBA 一覧から別フォームを開きたい

    顧客管理をしようとしています。 表形式のフォームで一覧を表示させています。 一覧の詳細セクションに「詳細」というボタンをつけていて、 すべての行に、詳細ボタンを表示させています。 この詳細ボタンを押したら、この顧客カード(単票形式のフォーム)を開きたいと思っています。 現在、下記の記述をしていますが、 「抽出条件でデータ型が一致しません」とのエラーメッセージが出ます。 どこを修正したら良いかわかりません。 わかる方、よろしくお願いいたします。 現在の記述 Private Sub コマンド29_Click() If Me.NewRecord Then MsgBox "新規レコードから詳細情報を表示することはできません。" Else DoCmd.OpenForm "顧客フォーム", , , "顧客ID='" & 顧客ID & "'" End If End Sub

  • ACCESS 単票形式フォームの新しいレコードでのカーソルの位置

    単票形式フォームで、新しいレコードを入力の際に、カーソルをタブオーダーの1番最初に点滅させることが出来ないでしょうか? また、フォームで使用しているコマンドボタンにショートカットキーを割り付けることがでないでしょうか? と、言いますのは、一つのレコードを打ち終わって、ショートカットキーで次のレコードに移るコマンドボタンを押して、そのまま入力できれば、キーボードから手を離さずに打ち続けることができるのに・・と思いまして。 何卒、お願いします。m(__)m

  • Access2002でのフォーム形式

    Access2002でフォームウィザードを使って作成したフォームの形式(表形式など)を、作成後に変更(単票形式などに)することは可能なのでしょうか? ちょっと勉強を始めたらドンドコドンドコ不思議に思うことが出てきてしまって・・・。 よろしくお願いします。

専門家に質問してみよう