• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:accessフォーム トルグ yes/no表示切替)

accessフォーム トルグ yes/no表示切替

このQ&Aのポイント
  • accessフォームにてトルグボタンでyes/noの表示を切り替える
  • 単票フォームにyes/no型のチェックボックスがあります。トルグボタンを押すとチェックしたものだけが表示され、ボタンを解除(押さなければ)すると全件表示されるようにしたいです。
  • また、この単票フォームを開けた時は、常にボタンが解除されて全件表示の状態にしたいです。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

> ボタンを解除(押さなければ)すると全件表示されるようにしたいです。 FilterOnプロパティを「False」にすれば、フィルタを解除(=全件を表示)できます。 ですので、   Me.FilterOn = True を、   Me.FilterOn = トグル38 にすれば、ご希望の動作になるかと思います。 (右辺は、m3_makiさんご提示のように「Me.トグル38.Value」としてもOk) 但し、フィルタ解除時にはFilterプロパティへの代入は不要なので、それを含めて改修 すると、以下のようになります: Private Sub トグル38_Click()   Dim strWhere As String   If トグル38 =True Then     strWhere = "([T2伝票仮] = True)"     Me.Filter = strWhere     Me.FilterOn = True   Else     Me.FilterOn = False   End If End Sub なお、 > この単票フォームを開けた時は、常にボタンが解除されて全件表示の状態にしたい とのことですが、ご使用のAccessは2007以降でしょうか。 そうであれば、当該フォームをデザインビューで開き、何もないところをダブルクリックする などしてフォームのプロパティシートを表示し、『データ』タブに『読み込み時にフィルタを 適用』の項目がありますので、「はい」になっていないか確認してみてください。 (これを「いいえ」にすれば、開いたときにはフィルタは適用されなくなるはずです) Access2003以前だった場合や、上記のプロパティの値が「いいえ」だった場合は、 開くだけではフィルタは適用されないはずなので、開く時(Open)イベントや読み込み時 (Load)イベント等で「Me.FilterOn=True」の処理をしていないか確認してみてください。 (Openイベントなどで、「トグル38_Click」サブプロシージャを呼び出している等のパターン  も含みます:  この場合は、呼び出す前に「トグル38 = False」の代入をしておくか、『既定値』プロパティ  を「いいえ」にしておけば、サブプロシージャの呼出はそのままにしていても、全件表示が  可能になります) ・・・長文、失礼致しました(汗)

hyolli
質問者

お礼

わかりやすい、ご回答いただきありがとうございます。 私の考え通り動き、これからの業務に役立ちそうです。 バージョンを記していなかった点をご指摘いただき、 ついつい忘れていたことに気が付きました。 当方は2003でしたので、ご説明を詳しく頂き本当に助かりました。 別件で、また上手く動作がいかないものがでてきましたので、 お手数でなければ、ご回答ください。 ありがとうございました。

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

その他の回答 (1)

  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

strWhere = "[T2伝票仮] = " & Me.トグル38.Value かな?

hyolli
質問者

お礼

ご回答をはやく頂き、ありがとうございます。

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

関連するQ&A

  • Access 2003 でフォームフィルターがかかりません。

    Access 2003 でフォームフィルターがかかりません。 どなたか助けてください。 アクセス初心者です。 フォームの詳細欄にチェックボックス(フィールド名:伝票チェック)を配置しております。 チェックの入っていないものを表示させたいです。 フォームヘッダーのオプショングループ(フレーム67)に オプションボタン0-オプション値0と オプションボタン2-オプション値2 の2個のオプションボタンを配置してあります。 クリック時のイベントプロシージャに以下のコードを書きました。 Private Sub フレーム67_Click() If Me!フレーム67 = 0 Then Me.Filter = 伝票チェック = 0 Me.FilterOn = True Else Me.Filter = "" Me.FilterOn = True End If End Sub 実行時エラーは出ませんが、データが何も表示されません。 どうすればいいのでしょう??? どなたかお願いします。

  • アクセス:Yes/No型→チェックいれたら、"○"を表示。

    あるフィールドの書式をYes/No型にしてます。 そして、チェックを入れたらフォームビューでは"○"を表示する。 というようなことはできますか?? アクセス初心者です。。 すみませんが、よろしくお願いいたします。

  • accessフォームチェックボックス→トルグ文字

    (access 2003) (メインとサブがあり、メインフォームです。) フォームのチェックボックス(yes/no型)をコントロールの種類変更よりトルグボタンに変更し、 トルグボタンで入力しています。 yesなら、「仮」 noなら「普通」としたいと思い、下記の式を試して見ましたが、下記のようになります。 ページ移動ごとに凸凹は変わるのですが、トルグボタンに表記させている文字が「仮」から変わりません。 ボタンを押した時だけ「普通」に変わるのですが、ページを移動すると今度は「普通」ばかりの表記になってしまいます。 よろしくお願い致します。 Private Sub T2伝票仮_AfterUpdate() If Me![T2伝票仮].Value = True Then Me![T2伝票仮].Caption = "仮" Me![T2伝票仮].ForeColor = 255 Else Me![T2伝票仮].Caption = "普通" Me![T2伝票仮].ForeColor = 16711680 End If End Sub

  • アクセス2007

    アクセス2007 アクセスで日付や内容を打ち込むと検索結果が出ると言うものを作りました。 検索結果はフォームで表示されてそこにトグルボタンを作りました。 このトグルボタンをクリックすると単票形式で詳細が出るようにするのはどうすればいいですか? 今のところ、クリックすると単票形式のフォームは出ますがデータが反映されていないようです。 よろしくお願いします。

  • ACCESS VBA テーブルデータにYES/NO

    ACCESSの表形式のフォームにYES/NOフィールドを足して 一覧フォームで任意のチェックボックスを選択して 選択されたデータのみを表示するようにしたいです。 しかしチェックボックスはレコードひとつひとつについてるのですが 認識されるチェックボックスは一番上のレコードのチェックボックスのみです。どうすればレコード別に判定できるのがわからないので 詳しい方ご教授お願いします。自分が書いたのは下記コードです。 Dim chkBln As Boolean chkBln = False If チェック50 = True Then chkBln = True MsgBox chkBln End If '検索結果の表示 DoCmd.OpenForm ("データ修正画面") '自身のレコードソースに設定 Forms("データ修正画面").RecordSource = "Select * From T_障害票マスタ WHERE チェック = " & chkBln & ""

  • アクセスのYES NO型の処理について

    アクセス2010を使用している独学の初心者です。 フォームで大分類、中分類、小分類のカテゴリーにそれぞれチェックボックスを作っており、その商品のいる、いらないを選択したらその商品一覧テーブルにあるYES NO型のチェックボックスをオンオフしたいのですがうまくいきません。 今、同じフォーム内にある大分類とそれぞれ紐づいている中分類と小分類のチェックボックスをオンオフできるように private sub chk_大分類.value=false then me.chk_中分類.value=false me.chk_小分類.value=false ここまで書いているのですが、商品一覧の[大分類]にカテゴリーされている商品の不要商品フラグのチェックボックスをオンオフする書き方がわかりません。 すごくざっくりとした説明になってしまいましたが、どなたかご教示いただけませんでしょうか。 よろしくお願いいたします。

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

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

  • Access2007の初心者です。VBAの記述で困っています、お力添え

    Access2007の初心者です。VBAの記述で困っています、お力添えお願いします。 チェックボックスにチェックが入っている場合に、誕生日が空白のものを抽出する部分のVBAの 記述のところで躓いているのだと思っています。 ■テーブルの情報 ・テーブル名:T_会員情報 ・T_会員情報のフィールド:会員名(テキスト形式)・性別(数値型)・誕生日(日付/時刻型) ■実現したいこと ・T_会員情報で、「検索」ボタンを押下したら、条件にあった情報がフォーム上に抽出できるもの。 ■用意したフォーム T_会員情報の連結フォーム ・フォーム上には以下を用意  ◆「性別」の非連結コンボボックス:txtSeibetsu  ◆「誕生日が空白」という非連結チェックボックス:chkBirthday  ◆「AND OR」のいずれかが選択できるオプションボタン  ◆「検索ボタン」  ◆「会員名」「性別」「誕生日」のT_会員情報の帳票フォーム ■VBA Option Compare Database Option Explicit Const cAnd = 1 Const cOr = 2 Const cBaseQuery = "SELECT * FROM T_会員情報" Private Sub 検索ボタン_Click() Dim strWhere As String Dim strAndOr As String strWhere = vbNullString If Me.optAndOr.Value = cAnd Then strAndOr = " AND " Else strAndOr = " OR " End If '性別検索 If ISNull(Me.txtSeibetsu.value)=False Then strWhere = strWhere & strAndOr & " 性別 = " & Me.txtSeibetsu.Value End If '誕生日空白検索 If Me.chkBirthday=False Then strWhere = strWhere & strAndOr & " 誕生日= " & Null End If 'WHERE句編集 strWhere = Replace(strWhere, strAndOr, "WHERE", , 1) 'レコードソース書き換えと再クエリ Me.RecordSource = cBaseQuery & " " & strWhere Me.Requery End Sub 誕生日が空白の検索のところの記述が問題だと思っています。 初心者でよくわかっておりません。 ご存知の方がいらっしゃいましたら、教えてください。 よろしくお願いします。

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

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

  • 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行目を実行しようと するようで、メインフォームがないというエラーがでます。 宜しくお願い致します。

専門家に質問してみよう