• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームを開くボタンを1個でコントロールしたい)

フォームを開くボタンを1個でコントロールしたい

このQ&Aのポイント
  • 現在の運用方法ではコマンドボタンが4個と多く、使いづらいので1個で完結できる方法が知りたいです。
  • マクロで対応できる方法があれば、そちらでお願いしたいと思います。
  • 企業の連絡情報帳をアクセスで運用していますが、絞り込み検索には都合が悪い事情があるため、改善策をご指導願います。

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

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

企業リストクエリに検索条件を 添付のように追記します (1)には[forms]![検索専用フォーム]![会社名] (2)には[forms]![検索専用フォーム]![製品名] (3)には[forms]![検索専用フォーム]![商品名] (4)には[forms]![検索専用フォーム]![得意技] ※抽出条件行は複数あり、同一行に記述するとAND条件  異なる行に記述するとOR条件です・ 1,テーブル名:企業リスト このテーブルだけですか製品名、商品名、得意技のテーブルも存在すると思うのですが でないと企業は1製品、1商品、1得意技しか登録できないことになります 企業リストの項目名(フィールド名)を列記てください まさかと思いますが、会社名、製品名、商品名、得意技

eokwave
質問者

お礼

ご親切に対応頂きまして、本当に有難うございました。 図解まで案内いただきましたので、完成に向けて早速実施させて頂きます。 本当に有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • panacon
  • ベストアンサー率31% (214/679)
回答No.2

ID連結はここでは不要ですので、フォームのプロパティで親フィールドと子フィールドのIDの記述を省いてください。フォームの中にサブフォームの形でフォームを埋めたいだけで、親フォームと関連付する普通の利用方法を使いません。 マクロの値の代入の書き方は、ご質問の通り、下記のようになります。これをそれぞれのフォームに合うように4つ作ります。一つのマクロにサブマクロの形で4つ作ればOKです。 代入先(アイテム)に「Forms![検索専用フォーム]![サブフォーム名].Form.RecordSource」を書いて、代入する値(式)に"対応する検索結果のフォーム名"を選びます。ここでの式は、文節ですので、ダブルクォーテーションで括ります。 できた4つのサブマクロまたはマクロをコンボボックスの更新後処理に登録します。

全文を見る
すると、全ての回答が全文表示されます。
  • panacon
  • ベストアンサー率31% (214/679)
回答No.1

検索専用フォームの下部を大きくとって、そこにサブフォームを作り、4つのコンボボックスの更新後処理で、サブフォームのソースに対応するフォーム名を代入する方法とすると、コマンドボタンは不要になります。 マクロを作るときにすべてのマクロの表示を選択して、値の代入を選択します。 代入先に「Forms![検索専用フォーム]![サブフォーム名].Form.RecordSource」を書いて、代入する値に"対応する検索結果のフォーム名"を選びます。同様のものを各コンボボックス用に4つ作って、それぞれのコンボボックスの更新後処理に登録しておきます。 こうすると、コンボボックスを選択する都度にサブフォームの内容がチェンジします。

eokwave
質問者

補足

「早速アドバイス頂きまして有難うございます。理解不足で申し訳ないですが、以下の内容作業で止まっています。」 1,フォーム面積を拡大してヴィザードで既存の検索結果用フォームを選択、ID連結を選択してサブフォームを作成しました。 「更にご指導のお願いです」 1,コンボボックスの更新後処理でマクロの作成を選択し、アクションで「値の代入」を選択する。値の代入では(アイテム)と(式)の記入が必用ですが、ご指導いただきました「Forms![フォーム名]![サブフォーム名].Form.RecordSource」の記述は(アイテム)でしょうか、それとも(式)への記述でしょうか。尚、残ったもう一方(アイティム)又は(式)への記述方法も教えて下さい。 2,上記1,以外に行う作業はありますでしょうか。 低レベルな質問で申し訳ございません。宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access 商品マスタフォームの検索コンボBOX

    商品マスタフォームのヘッダーに非連結のコンボボックスを設けて、 商品検索キーを使ってフォームにデータを表示させるようにしています。 フォーム「商品マスタ」 選択クエリ「商品検索」(フィールド:「商品ID」「検索キー(カナ2文字)」「商品名」) コンボボックス「cb検索」 更新後処理に「再クエリマクロ」 うまく動作していますが、検索コンボボックスをもう一つ設けて、 仕入先からも検索できるようにしたいと思いました。 同じようにフォーム上に非連結のコンボボックスを作成して 選択クエリ「商品検索仕入先」(フィールド:「商品ID」「仕入先」「商品名」) コンボボックス「cb検索仕入先」 更新後処理に「再クエリマクロ」 フォームのコントロールソースのクエリ「商品ID」の条件を Like [Forms]![商品マスタ]![cb検索] & "*" Or Like [Forms]![商品マスタ]![cb検索仕入先] & "*" としました。 何度か交互に検索してみましたが、選択した商品が表示されるときとされないときがあります。 表示されないときは、検索に使っていないほうのコンボボックスの値が反映されているようです。 また、続けて検索キーのみで検索を試みてみると、うまく表示されるときと、そのときの 仕入先検索が選択している商品が表示されるときとがあります。 法則性がまったくわかりません。 一番最新のコンボボックスの選択が表示に反映されるようにするには どのようにすればよいのか教えていただけないでしょうか。 他に提示する情報があれば重ねてご教示ください。 よろしくお願いします。

  • アクセス コンボボックス コントロールソース

    フォームにはレコードソースは指定してないけど そのフォーム乗っているコンボボックスのコントロールソースに とあるクエリの値を表示したい場合は どうすればいいでしょうか?

  • access 入力フォームへの表示

    初歩的な質問で申し訳ありません。 accessで商品マスタへの入力フォームを作成しました。 商品マスタテーブルから作成しました。 新規入力ボタン、登録ボタンを作成して、ボタンクリック時にのみ 新しいレコードへの移動、テーブルへのデータ更新を実行するようにしました。 この段階で、できれば入力フォーム上でコンボボックスなどを利用して検索を行い、 選択データをフォーム上に表示させたいと思いました。 ところがまったく知恵が働かず、どうしてよいのやら途方にくれています。 検索フォームを別途設けてもよいのですが、商品数が200たらずで、 今はコンボボックスで十分かなと思っています。 商品マスタにはカタカナ二文字の「検索キー」フィールドを設けており、 これをキーにしてクエリ(「Q商品検索」)で昇順に並べ、コンボボックスのコントロールソースを そのクエリにしました。 コンボボックスの更新後の処理イベントでマクロを使い、 「フォームを開く」にしてみましたが、その他の条件のつけ方がわかりません。 まったく的外れなことをしているのかもしれません・・・。 本やネットの質問過去ログで探してはみましたが、皆さん先を進んでおられて、窮してしまっています・・・。 このような状態でaccessを触るな!とお叱りを受けそうですが、 どうかお助け下さい。 よろしくお願いします。

  • フォームでの検索

    コンボボックスでの検索が出来なくて困っています。 テーブル:職員名簿   氏・名・職員No・生年月日・所属部署・・・etc. ↑のテーブルを元に入力フォームを作りました(単表形式)。 で、名簿の訂正や変更を行う時の為に検索でレコードを出したいです。 コンボボックス1:氏 コンボボックス2:名 を作って検索出来るようにしたのですが、氏・名 両方が当てはまるレコードを出したいのに、片方ずつの検索しか出来ません。 いろいろ調べてみて「コンボボックスの連携」というのをすると出来るようなのですが(?)、やり方がわかりません。 超初心者なので1から教えていただけるとうれしいです。 氏・名からの検索でレコードが出せれば良いのでもっと他に簡単に出来る方法があればそれでも良いです。 よろしくお願いします。

  • もしフォームヘッダーにコントロールがあるのなら

    アクセスのフォームの、フォームヘッダーに検索用テキストボックスとコンボボックスがあり、 詳細エリアにレコードソース(コントロールソース)に紐付いたテキストボックスが複数あります。 フォームヘッダーのフィルタを解除するコマンドを実行して、 フォームヘッダーのテキストボックスとコンボボックスをnullにしたいのですが、 vbaで「もしフォームヘッダーなら」ってするにはどうすればいいでしょうか? フォームヘッダーのコントロール名も詳細エリアのコントロール名も 区別のないコントロール名でなのでコントロール名で条件分岐をすることは不可能です。 Private Sub フィルタを解除コマンド_Click() Dim ctl As Control For Each ctl In Me.Controls If (ctl.ControlType = acTextBox) Or (ctl.ControlType = acComboBox) Then 'ここで、もしフォームヘッダーにコントロールがあるのならってしたい Me.Controls(ctl.Name) = Null End If Next ctl Me.Form.FilterOn = False End Sub このコードに付け加えてくれませんか? Debug.Print ctl.Name でコントロール名を取得するとフォームヘッダーも詳細もどちらのコントロール名も取得されてしまいます。 On Error Resume Next 以外でお願いします。

  • ACCESS 2007で帳票フォームで絞り込み

    はじめまして、ACCESS初心者なのですが、困っています。 商品マスターというテーブル(商品ID、メーカー名、品名、型式)があって、見積フォームの サブフォームの見積詳細フォーム中で、メーカー名、品名、型式をコンボボックスで選択できるようにしており、以前見積もりしたことのある商品をメーカー名、品名、型式をコンボボックスでテーブルから 絞り込みをしながら参照してくるようにしたいのですが、テーブル内にあるレコードと同じものを 選ぶと新しくレコードが追加されてしまいます。同じ場合は追加したくないのですがどうしたら良いのでしょうか? レコードソースはクエリQ_見積詳細で、  見積詳細テーブル(見積No、注文No、数量、単価、商品ID)と商品マスター(商品ID、メーカー、  品名、型式)を商品IDでくっつけているものです。  コンボボックスは3つあって、  1つ目のメーカーCoのコンボボックスはコントロールソース メーカー  値集合ソースはクエリでQ_メーカー  Q_メーカーは商品マスターのテーブルで  フィールド・・メーカー テーブル・・商品マスター 集計・・グループ化 表示・・ON  フィールド・・品名 テーブル・・商品マスター 集計・・グループ化  表示・・OFF フィールド・・IIf([Forms]![見積データフォーム]![見積データフォーム詳細]![品名IDCo]         _Is Null,True,[商品マスター]![品名]=[Forms]![見積データフォーム]! _[見積データフォーム詳細]![品名IDCo]) テーブル・・なし 集計・・グループ化  2つ目の品名IDCoのコンボボックスはコントロールソース 品名  値集合ソースはクエリでQ_品名  Q_品名は商品マスターのテーブルで  フィールド・・品名 テーブル・・商品マスター 集計・・グループ化  表示・・ON  フィールド・・メーカー テーブル・・商品マスター 集計・・グループ化 表示・・OFF  フィールド・・IIf([Forms]![見積データフォーム]![見積データフォーム詳細]![メーカーCo]         _Is Null,True,[商品マスター]![メーカー]=[Forms]![見積データフォーム]! _[見積データフォーム詳細]![メーカーCo]) テーブル・・なし 集計・・グループ化  3つ目の型式Coのコンボボックスはコントロールソース 型式  値集合ソースはクエリでQ_型式  Q_型式は商品マスターのテーブルで  フィールド・・型式 テーブル・・商品マスター 集計・・グループ化  表示・・ON  フィールド・・品名 テーブル・・商品マスター 表示・・OFF          抽出条件 [Forms]![見積データフォーム]![見積データフォーム詳細]![品名IDCo]  フィールド・・メーカー テーブル・・商品マスター 表示・・OFF          抽出条件 [Forms]![見積データフォーム]![見積データフォーム詳細]![メーカーCo]   上記でやると、絞りこみはできるのですが、型式で同じものが2個表示されたり、レコードが新規  で追加されてしまいます。  よろしくお願いします。

  • Accessのコンボボックスについて・・・

    こんにちは、Accessのフォームにコンボボックスを設置して、以下のような事ができないかと悩んでおります。よろしくお願い致します。 フォーム内には、部署名・氏名・住所・商品名など、クエリの列名をテキストボックスにて設置してあります。 フォーム内に別の(客先名専用)クエリでコンボボックスを設置し、コントロールソースには会社名を選択しています。 フォームビューでそのコンボボックスからひとつの会社名を選択すると、別の(客先名専用)クエリからでも、フォーム内にあるテキストボックス名と同じ列名であればテキストボックスに表示が可能ではないかと思っています。が、現在の状態だとコントロールソースで選択した会社名のみの表示だけです。どこかで設定する機能があるのか難しいVBでの設定しかないのか、それもわかりません。是非、この方法がおわかりになられる方ご教示下さいます様お願い致します。わかりずらい説明で申し訳ございませんが、よろしくお願い致します。

  • Accessのフォームで日付の範囲での抽出

    初心者です、Access2000/WinXPで使用しています、Accessのフォームで日付の範囲での抽出仕方が解らなくて困っています、日付をそれぞれコンボボックスで指定しています、コンボボックスAとコンボボックスBの日付間での抽出なのですが、それを一つのコマンドボタンで抽出したいのです、 簡単に説明します。 メニュー抽出:フォームの コンボボックスA:集合ソースメニュー/総合抽出クエリ コンボボックスB:集合ソースメニュー/総合抽出クエリ txt2(コンボボックス):集合ソースメニュー/総合抽出クエリ コマンド4(これは検索と言う名前でtxt2で指定した名前を抽出するのに使っています) Private Sub コマンド4_Click() 'レコードを抽出 Me.Requery End Sub と、してあります このコマンド4でコンボA~コンボBの期間のtxt2の品目を総合抽出クエリから抽出するにはどうすればよろしいでしょうか?宜しくお願いいたします。

  • 50個分のクエリとフォームを作らないといけないのか!?

    50個分のクエリとフォームを作らないといけないのか!? 素人が見よう見まねで作っていますので、分かり難いかと思いますが、 何卒よろしくお願い致します。 現在、フォーム(検索)があり、そこに非連結コンボボックス(テキスト1)が あります。このコンボボックスは、テーブル(取引先)の値(会社名)を参照して います。会社名は約200あります。 テーブル(取引先)のフィールドは会社名、フリガナ、五十音別です。 今迄は、マウス操作で会社名を選んでいました。今度、タッチパネルLCDを 使う事になったのですが、コンボボックスでは、文字は大きく出来ても、 コンボボックスの枠やスクロールバーの幅を大きく出来ず、うまくタッチ パネルでの操作ができません。 そこで、新たにフォーム(五十音)を作り、五十音分(あ~ん)のコマンドボタン を作り、コマンドボタン”あ”を押すとクエリ”あ”で、テーブル(取引先)の 五十音別が”あ”の会社だけ抽出させ、結果をフォーム(あ)に表形式で表示 させました。 さらに、マクロ(値の代入)で、フォーム(検索)のコンボボックス改めテキスト ボックス(テキスト1)に会社名を代入させました。 回りくどい事だと思いますが、これで、マウスで選ぶのと同じ事が出来ました。 しかし、この方法だと、クエリとクエリの結果を表示させるフォームが、それ ぞれ50づつ必要になってしまいます。 50づつ作ってもいいのですが、きっと他にもっと簡単で明解な方法があると 思うのですが、素人ゆえ、全く見当がつきません。 簡単な方法がありましたら、ご教授のほど宜しくお願い致します。 なお、わがままを言って申し訳ありませんが、コンボボックスの枠を大きくした りではなく、コマンドボタンを使う方法でお願い致します。

  • Access2003でコンボボックスからデータを抽出したい

    自己啓発でAccess2003を勉強しています。 Access2003でコンボボックスで名前を選択して、データ(住所)を抽出したものをリストボックスに表示させたいのですがどこがまちがっているかわかりません。こんなことで3週間ぐらい悩んでいます。 回答またはアドバイスをお願いします。 もしくはもっと簡単なやりかたがあればお願いします。 (1)「氏名」、「住所」のテーブルを作成。テーブル名は「01データ」 (2)「氏名」、「住所」のクエリを作成。クエリ名は「クエリ1」 (3)フォームでコンボボックスとリストを作成。フォーム名は「印刷」 ⇒コンボボックスの名前は「検索」。 ⇒値集合ソースはSELECT [01データ].ID, [01データ].氏名 FROM 01データ; これで「氏名」が選択できた。 (4)クエリの「氏名」抽出条件にLike [forms]![印刷]![検索] (5)検索するマクロを作成。マクロ名「M検索」 アクションは 全レコードの表示 フィルタの実行 ⇒Where条件は[Forms]![印刷]![検索]=[クエリ1]![氏名] (6)マクロ「M検索」をコンボボックスのプロパティ「イベント」タブから変更時に設定する。 (7)フォーム「印刷」を開き、コンボボックスで氏名を選択すると『クエリ1!氏名』と表示されてしまいます。 (8)フォーム「印刷」のリストボックスは全レコードが表示されている。

initpassとは
このQ&Aのポイント
  • 【DCP-J988N】でのinitpass acessがわからないというお悩みについて相談したいです。
  • お使いの環境や接続方法、関連するソフト・アプリ、電話回線の種類などについて教えてください。
  • この質問はブラザー製品に関するものです。
回答を見る

専門家に質問してみよう