トグルボタンクリック時にtxtBoxを不可視にする

このQ&Aのポイント
  • 「txt_仕入年」と「txt_仕入月」を表示しないようにする
  • フォームを開いた時に今年のデータを表示して「txt_仕入月」を表示しない
  • エラー'2427'が発生している
回答を見る
  • ベストアンサー

トグルボタンクリック時にtxtBoxを不可視にする

オプショングループに設置したトグルボタンクリック時にテキストボックスとラベルを見えなくする お世話になります。<m(__)m> 「Q仕入」を基に表形式のフォーム作成し、Q仕入のフィールドに「商品管理_ID・ 仕入日付・仕入年・仕入月・単価」その他いくつかのフィールドがあります。 フォームにグループオプションで非連結の「コンボBox(値集合ソース:2010; 2011;2013;…)」と全データの「トグルボタン」1月から12月までの「トグル ボタン」を設置し、その他3つの「txtBox」があります。 「txt_仕入年」(コントロールソース:仕入年) 「txt_仕入月」(コントロールソース:仕入月) 「txt_仕入合計」(コントロールソース:=Sum([単価])) そして「Q仕入」を基に月を抽出する「Q1月・Q2月・・・Q11月・Q12月」と 12のクエリを作成しました。 「コンボBox」から年を選択するとその年のデータが表示されます。 教えて頂きたい事 1.全データの「トグルボタン」を押した時に「txt_仕入年」と「txt_仕入月」を   表示しないようにする  「グループオプション」のクリック時に --------------------------------------------------------------------- ivate Sub フレーム51_Click() Select Case Me!フレーム51 Case 1 Me.RecordSource = "Q仕入1月" Case 2 Me.RecordSource = "Q仕入2月" ・ ・ ・ Case 11 Me.RecordSource = "Q仕入11月" Case 12 Me.RecordSource = "Q仕入12月" Case 13 Me.RecordSource = "Q仕入費" ' -- (全データ) End Select If Me!全データ = True Then Me!txt_仕入年.Visible = False Me!txt_仕入月.Visible = False Else Me!txt_仕入年.Visible = True Me!ttxt_仕入月.Visible = True End If End Sub ---------------------------------------------------------------------   といろんなサイトを参考にコードを書いてみたのですが   実行エラー'2427':   指定した式には値がありません。   とでます。 2.フォームを開いた時に今年のデータを表示して「txt_仕入月」を表示しない。  宜しくお願いします。<m(__)m>

  • yu_ji
  • お礼率63% (14/22)

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

状況が良く飲み込めませんが 1 If Me!全データ = True Then の 全データ のコントロールがフレーム51の中にあるのなら If Me.フレーム51.Value = 13 Then になるのでは? 2 フォームを開いた時に今年のデータを表示して「txt_仕入月」を表示しない。 フォームのOpen時イベントにてレコードソースの設定と、 txt_仕入月はデザインビューで予め不可視に設定しておくとかでは駄目?

yu_ji
質問者

お礼

nicotinism 様 ご回答頂き有難うございます。<m(__)m> >状況が良く飲み込めませんが 毎回説明が下手ですみません(^_^メ) ご回答を基になんとか思いどうりになりました。 >If Me!全データ = True Then の >全データ のコントロールがフレーム51の中にあるのなら >If Me.フレーム51.Value = 13 Then になるのでは? ご指摘のとうりにコードを書き換えて解決できました。 >フォームのOpen時イベントにてレコードソースの設定と、 Open時イベントにレコードソースの設定するコードがうまく書けず 試行錯誤した結果、フォームのOpen時イベントで Me!txtBox(コンボBox) = Format(Date, "yyyy") 「txtBox(コンボBox)」の更新後処理イベントで Me.Filter = "仕入年 =" & Me![txtBox(コンボBox)] Me.FilterOn = True DoCmd.Requery として解決(?)いたしました。 >txt_仕入月はデザインビューで予め不可視に設定しておくとかでは駄目? ご指摘のとうりです。 どうも有難うございました。 まだまだいろいろと質問させて頂くと思いますのでその節は宜しくお願い致します。

関連するQ&A

  • Access:トグルボタンのフォントカラー変更について

    Option Compare Database Private Sub トグル1_BeforeUpdate(Cancel As Integer) If トグル1 = -1 Then Me.トグル1.ForeColor = 10855845 Else     Me.トグル1.ForeColor = 0 End If End Sub Access2007を使用しています。 トグルボタンをクリックした場合、ボタンのフォントカラーを変えたく、上記のようにプログラムを組みました。 結果は動きました。 しかし、ボタンが一つだけなら良いのですが、複数ある場合、すべてのボタンに同じプログラムを設定しないと動きません。同じようなプログラムを複数組むのは無駄な気がしたので、以下のようなプログラムを作ってみました。 Option Compare Database Dim Text As String Private Sub トグル1_BeforeUpdate(Cancel As Integer) Text="トグル1" Call Test End Sub Sub Test() If Me.ActiveControl = -1 Then Me.Text.ForeColor = 10855845 Else Me.Text.ForeColor = 0 End If End sub 結果は動きませんでした。どうやら Me.Text.ForeColor = Me.トグル1.ForeColor と読んで欲しいところを Me.Text.ForeColor ="Me.Text.ForeColor" と読んでいるようです。 やはり、一つ一つに先頭のに記載したプログラムを入れていくしかないのでしょうか? ご教授の程、おねがいします。

  • トグルボタンの排他制御でご教授ください。

    いつもお世話になっております。 エクセル2003のマクロVBAで、トグルボタンの排他制御を行っております。 ひとつのフレーム上の二つのトグルボタンの制御は、MSのサンプルソースを参考に以下のようなソースを作成して、制御できております。 教えて頂きたい内容は、同じようにひとつのフレーム上に、二つのトグルボタンを追加して、排他制御を行いたいたく検討しています、できれば、以下の ExclusiveToggleButtons() を使いたいと思っていますが、for ループのフレーム名が固定です。 フレーム名を可変にすれば、共用できるのではないかと思っていますが、なかなかうまくいきません、よい方法がありましたら、ご教授願います。 --- 標準モジュール ------------ start --- Sub ExclusiveToggleButtons() Dim my_toggle As Control ' Loop through all the ToggleButtons on Frame1. For Each my_toggle In myStartForm.my_MonthChoice_Frame.Controls ' If Name of ToggleButton matches name of ToggleButton ' that was clicked... If my_toggle.Name = my_Clicked_But Then '...select the button. my_toggle.Value = True Else '...otherwise clear the selection of the button. my_toggle.Value = False End If Next --- 標準モジュール ------------ end ---

  • Excel VBAで「こういう状態の時にトグルボタン押下」は?

    Excelで、シートの保護をするためのトグルボタンをつけています。 (押してある時は保護) よく考えたら、ツールバーから保護された時にも ボタンが押下状態にならないと使いづらいのではないかと思い、 If ActiveSheet.protect Then ボタン名 = True End If If ActiveSheet.Unprotect Then ボタン名 = False End If とやってみたんですが、うまく機能しません。 どうしたら良いのでしょうか?

  • Excel トグルボタンについて教えて下さい

    今朝、コマンドボタンについて質問をして、 ボタンを押すごとに、特定のセルに1とブランク(=0)を 交互に入力する方法を教えてもらったのですが、その中で 新しい、トグルボタンという機能を教えてもらい、 本などを見て自分なりにやってみたのですが、 回答が見つからず、またまた書き込んでしまいました;; 先ほどは、ABS()の絶対値を使って、0と1を繰り返す方法と 下記のプログラムを教えて頂いたのですが、 Private Sub CommandButton1_Click() If Range("D1").Value <> "" Then   Range("D1").Value = "" Else    Range("D1").Value = 1 End If End Sub 作りたい書類には1を入力したときに凹ませたいのですが、 教えてもらった回答では どうしても、0の時に凹んで 1のときに凸るんです。 内容を色々変えてやってみたものの成功には至らず、 本を見ても回答に見合った例がなく、うまく出来ません。 っというか、コマンドボタンと同様の式では、 凹んだときにTrueを返して、凸ったときにFalseを返すという 折角のトグルボタンの意味が無いですよね? とどのつまりが、お知恵をお貸し頂きたいということで、 毎度ながら申し訳ないのですが 何卒宜しくお願いします。

  • ボタン押下でサブフォームのレコードソースを変更

    ボタン押下でサブフォームのレコードソースを変更 する方法を探しています。 元とするテーブルは同じですが、拾うべきフィールドが全く異なるため2つのクエリを作成しました。 元テーブル「メンバー一覧」 クエリ「q_1組のみ」「q_女性のみ」 フォームヘッダーにコンボボックスでどちらかのクエリを選択し、ボタンを押したら サブフォームが表示されるようにしたいのですが、 現在のところ、「閉じているかまたは存在しないオブジェクトを参照」というエラーが出てしまっています。 Me.でもForms("検索ウィンドウ").でも結果は同じでした。 ソースはクエリを指定しています。 Access2007 --------------------------------- Private Sub 検索ボタン_Click() If [Forms]![検索ウィンドウ]![申込形態] = "1組のみ" Then Me.検索結果サブフォーム.Form.RecordSource = "q_しぼりこみ1" Else Forms("検索ウィンドウ").検索結果サブフォーム.Form.RecordSource = "q_しぼりこみ2" End If

  • ボタンをクリックしたときへこませたい

    Access2000のデータベースの見た目を改善したいのですが、自作のボタンを(自分でラベルを作り「クリック時のイベントプロージャ」で実行させる)クリックしたときに、見た目上へこませたいのですが、(ボタンウィザードで作られるような、クリックするとへこんで、離すとVBAが実行される)どのようなVBAを追加したらよいでしょうか? ボタンウィザードで作ると背景の色が変えられないので、上記のようにしています。もしへこますのが難しいようなら、クリックしたときに背景色が変わるような設定でも良いかと思っていますが如何なものでしょうか。 ちなみに自作の抽出ボタンの一例です。 *抽出した結果を印刷するボタン[cmb抽出データを 毛筆書体で横書印刷プレビュー] ~~~~~~~~~~~~~~~~~~~~~~~~~~ Private Sub cmb抽出データを毛筆書体で横書印刷プレビュー_Click() If Me.FilterOn = True Then DoCmd.OpenReport "R葉書HGP祥南行書体横書",_ acViewPreview, , Me.Filter End If End Sub ~~~~~~~~~~~~~~~~~~~~~~~~~~ 汎用性があり、どのボタンにも追加できるようなVBAコードがあればればよいのですが...よろしくお願い致します。 データベースはAccess2000、OSはWindows98SEです。

  • 行数を固定して納品書を作成したが、いらない部分がでる

    こんばんは、提出時間がせまっているので、 あせって、質問しました。 今、アクセスにて納品書のレポートの作成中です。 Q_売上テーブルとQ_売上明細テーブルをつかって、 レポートを作成し、5行に固定したかったので、 下記のようなVBAを記述しました。 行は、固定されましたが、 なぜか1行しかない時などに、 商品区分だけが2行目3行目に1行目の内容をコピーして はいってくるのです。 どこがおかしいのかわからず、苦戦中です。 ご教授、よろしくお願いいたします。 Option Compare Database Dim AAA As Integer Dim BBB As Integer Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer) AAA = 0 BBB = DCount("伝票番号", "Q_売上明細テーブル", "伝票番号='" & Me!伝票番号 & "'") End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) AAA = AAA + 1 Me!テキスト54 = AAA If AAA Mod 5 = 0 Then If AAA < BBB Then Me!改ページ55.Visible = True Me.Section(3).Visible = True ElseIf AAA = BBB Then Me!テキスト54.Visible = True Me!商品区分.Visible = True Me!商品名.Visible = True Me!数量.Visible = True Me!単価.Visible = True Me!金額.Visible = True Else Me!テキスト54.Visible = False Me!商品区分.Visible = False Me!商品名.Visible = False Me!数量.Visible = False Me!単価.Visible = False Me!金額.Visible = False End If Else Me!改ページ55.Visible = False Me.Section(3).Visible = False If AAA < BBB Then Me.NextRecord = True Me!テキスト54.Visible = True Me!商品区分.Visible = True Me!商品名.Visible = True Me!数量.Visible = True Me!単価.Visible = True Me!金額.Visible = True ElseIf AAA = BBB Then Me.NextRecord = False Me!テキスト54.Visible = True Me!商品区分.Visible = True Me!商品名.Visible = True Me!数量.Visible = True Me!単価.Visible = True Me!金額.Visible = True Else Me.NextRecord = False Me!テキスト54.Visible = False Me!商品区分.Visible = True Me!商品名.Visible = False Me!数量.Visible = False Me!単価.Visible = False Me!金額.Visible = False End If End If End Sub

  • アクセスの標準モジュールを教えてください

    アクセス初心者です。イベントプロシージャで以下のようなVBAを作りました。(動作しました。) これを複数のレポートで使いたいので,標準モジュールで作りたいのですが,うまくできません。 下のVBAを標準モジュールで書くとどう書くのか教えてください。また,もしcallで呼び出すときの注意点等もあれば教えてください。 下のVBAでしたいことは,「加点減点*○」というイメージを「tbox_加点」というテキストボックスの値に応じて可視にするというものです。 アクセスは2007を使っています。よろしくお願いします。 Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim kt As Long Dim st As Long Me.加点減点_10○.Visible = False Me.加点減点_5○.Visible = False Me.加点減点0○.Visible = False Me.加点減点5○.Visible = False Me.加点減点10○.Visible = False kt = Me.tbox_加点 Select Case kt Case -10 Me.加点減点_10○.Visible = True Case -5 Me.加点減点_5○.Visible = True Case 0 Me.加点減点0○.Visible = True Case 5 Me.加点減点5○.Visible = True Case 10 Me.加点減点10○.Visible = True End Select End Sub

  • トグルスイッチをVBAでコントロール

    マイクロソフトアクセス2000で作成しています。 メインフォームとサブフォームを使っています。 メインフォームにあるトグルスイッチを押した時に、サブフォームの最新レコードに移動したいと 考えています。 ボタンを押したときに、VBAの命令は動くのですがトグルスイッチが押した状態になりません。 VBAで押した状態にしようとしても命令言語がわかりません。 ご教授をお願い致します。 Me.トグルスイッチ1=true <- ここが動きません。 DoCmd.GoToControl "サブフォーム名" DoCmd.GoToRecord , , acNewRec

  • Access ボタンクリック時プロパティ エラー

    こんばんは! Accessについて、質問があります!! あるフォームに設置したボタンのクリック時プロパティに、教えてもらったものですが Private Sub 解約_Click()   Me.取次名.Locked = False   Me.担当者名(1).Locked = False   Me.担当者名(2).Locked = False   Me.形態.Locked = False   Me.契約日.Locked = False   Me.会社ID.Locked = False   Me.会社名.Locked = False   Me.電話番号.Locked = False   Me.FAX番号.Locked = False   Me.郵便番号.Locked = False   Me.都道府県.Locked = False   Me.住所.Locked = False   Me.URL.Locked = False   Me.代表者.Locked = False   Me.代表者携帯電話.Locked = False   Me.代表者メールアドレス.Locked = False   Me.担当者.Locked = False   Me.担当者携帯電話.Locked = False   Me.担当者メールアドレス.Locked = False CopyRec   Me.取次名.Locked = True   Me.担当者名(1).Locked = True   Me.担当者名(2).Locked = True   Me.形態.Locked = True   Me.契約日.Locked = True   Me.会社ID.Locked = True   Me.会社名.Locked = True   Me.電話番号.Locked = True   Me.FAX番号.Locked = True   Me.郵便番号.Locked = True   Me.都道府県.Locked = True   Me.住所.Locked = True   Me.URL.Locked = True   Me.代表者.Locked = True   Me.代表者携帯電話.Locked = True   Me.代表者メールアドレス.Locked = True   Me.担当者.Locked = True   Me.担当者携帯電話.Locked = True   Me.担当者メールアドレス.Locked = True End Sub というイベントプロシージャを設定しました。 しかし、ボタンをクリックすると『メソッドまたはデータメンバーが見つかりません』とエラーになります。 デバッグ後、1行目が黄色くなり、『Me.代表者メールアドレス.Locked = False』の".代表者メールアドレス"や".Locked = "が青く選択されます。 単に名前が誤っているものと思い、テーブルのフィールドとフォームのテキストボックスで"メールアドレス"の部分が全角だったり半角だったりしたため、プロシージャ含め全て全角に統一しました。 それでボタンをクリックしても、同じエラーになります。 名前は全て修正したはずですが……何が原因でエラーになるのでしょうか? 回答よろしくお願いします!