- ベストアンサー
新しいレコードへの移動時にトグルボタンの選択を解除したい
30246kikuの回答
フレームとは、オプショングループのこととなりますか。 Private Sub コマンドボタン_Click() Dim ctl As Control Dim subCtl As Control For Each ctl In Me.Controls If (ctl.ControlType = acOptionGroup) Then For Each subCtl In ctl.Controls If (subCtl.ControlType = acToggleButton) Then If (ctl.Value = subCtl.OptionValue) Then subCtl.ForeColor = 255 Else subCtl.ForeColor = 0 End If End If Next End If Next End Sub 上記では、コマンドボタンがクリックされた時に色変更します。 自フォーム上のコントロールの中で、オプショングループに対して、 オプショングループを構成しているコントロールの値と、現在のオプショングループの値が同じものを 赤にするものとなります。 後は、これを呼び出すタイミングと、各オプショングループの値をいつ、どのように設定するか考えられたらと思います。 オプショングループ自体が連結されているのなら、既定値を設定しておくとか、 フォームのレコード移動時であれば、更新対象/新規の区別なく上記処理で大丈夫そう。 (既定値の設定は忘れずに) ※従来のクリック時処理はそのままでも、上記 subCtl 部分の処理に書き換えてもよいと思います。 例えば、 Private Sub Form_Current() Call コマンドボタン_Click End Sub Private Sub FrmClick() Dim subCtl As Control For Each subCtl In Me.ActiveControl.Controls If (subCtl.ControlType = acToggleButton) Then If (Me.ActiveControl.Value = subCtl.OptionValue) Then subCtl.ForeColor = 255 Else subCtl.ForeColor = 0 End If End If Next End Sub Private Sub オプショングループ1_Click() Call FrmClick End Sub Private Sub オプショングループ2_Click() Call FrmClick End Sub Private Sub オプショングループ3_Click() Call FrmClick End Sub ・・・・・ ※その他、編集をキャンセルした場合とかは考えてみてください。
関連するQ&A
- コマンドボタンでレコードの移動
いつもお世話になります。ACCESS2010を使用しておりますが、使い勝手に影響する細部に対する対応ができておりません。下記の内容をマクロで改善できればと考えておりますので、宜しくお願いします。 <現状> フォームの検索で複数ヒットしたとき用に、フォームにコマンドボタンを配して、マクロでレコードの移動を設定しております。レコードは次のレコードを選択で設定。 <感じている不具合> フォームの検索で5データヒットのとき、コマンドボタンを押していくと5つ目のデータを通り越して押せます。勿論ですがフォームはデータなしの空です。 <運用での希望> ヒットしたデータ分だけコマンドボタンで移動したら次へ進めない方法はないのでしょうか。 以上、宜しくおねがいします。
- ベストアンサー
- その他MS Office製品
- コマンドボタンでレコード移動
アクセス2000を使っております。初心者です。 フォームにコマンドボタンを作って、特定のIDのレコードに移動したいです。 IDが「A0001」と言うように、頭がA~Lから始まるものがある。 「A」~「L」というボタン・・・合計12コ置きたい。 「C」ボタンを押せば「C0001」へ、「K」ボタンを押せば「K0001」へ、へ移動する。 簡単なようで、なかなかできませんでした。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- フォームに配したレコード移動ボタンの操作改善
フォームに配したレコード移動ボタンの操作を改善したいと思っています。アドバイスを宜しくお願い致します。 [改善したいこと] 「次へ」のコマンドボタンをクリックしていくと、最後のページで止まらずに無地のページでストップします。現在の設定を変更しないで、最後のページで止まる様にできればと思っていますが、どんな方法があるのか、設定変更無し・設定変更有りを含め教えて頂けませんでしょうか。 [改善対象オブジェクト] 1,オブジェクトはフォームで、名前は「保険契約管理入力フォーム」です。 2,フォームに4つのコマンドボタンを配し「前へ」「次へ」「先頭の・・」「最 後の・・」に対し各々へページ移動できる様にしています。 3,フォームはデータ入力「データ入力用の設定は(いいえ)」用としても使って いますので、フォームを開く際に最後のページではなく、次の無地のページに なる様に設定しています。 4,2つの移動ボタン(前の・・と次の・・)のイベンドの設定内容。 ・1行目のマクロ設定:アクション「エラー時」、引数「次へ」 ・2行目のマクロ設定:アクション「レコードの移動」、引数「各々の移動先」 ・3行目のマクロ設定:アクション「メッセージボックス」、条件「[MacroError] <>0」、引数「=[MacroError].[Description]」 5,2つの移動ボタン(先頭の・・と最後の・・)のイベンドの設定内容。 ・1行目のマクロ設定:アクション「レコードの移動」、引数「先頭の・・、最後 の・・」 以上ですが、宜しくお願いします。
- ベストアンサー
- Access(アクセス)
- Access「レコードの移動」マクロについて
表形式でフォームを作っています。 そして、コマンドボタンを使って、「レコードの移動」ができるように、マクロを使って アクション 「レコードの移動」 ---アクションの引数---- オブジェクトの種類---フォーム オブジェクト名-------問題 レコード-------------次のレコード オフセット-----------4 としています。(コマンドボタンを1回押すと、4件ごとに画面を動かしたい) しかし、 問題NO---------問題 1----------なん 2----------ああ 3----------なな 4----------ああ □←これがコマンドボタン コマンドボタンに「クリック時」にマクロが実行できるように設定をして クリックすると 問題NO---------問題 2----------ああ 3----------なな 4----------ああ 5----------いい □←これがコマンドボタン となってしまいます。そして再度コマンドボタンを押すと 9----------がが 10---------ss 11---------ff 12----------ああ □←これがコマンドボタン ------------------------------------- になってしまいます。なので、オフセットを4から7に変えると 1回コマンドをクリックすると先頭にくる番号は「8」になったり・・・困りました。 で、フォームには1-4のレコードが表示されるようにし、コマンドボタンを1回押すと5-8、9-12と表示させたいのです。 とできれば、(全部で160行あるのですが)最終行のフォームが出てきて、コマンドボタンをクリックしてもマクロ実行エラーが出ないようにもしたいです。 よろしくお願いします。 Accsee2000 WIN98
- ベストアンサー
- オフィス系ソフト
- ACCESS サブフォーム レコード移動ボタンをつ
ACCESS初心者です。 フォーム A サブフォーム B リンク親フィールド 名前 子リンク親フィールド 名前 サブフォームで表示されるレコードセレクタと移動ボタンを、フォームA上にオリジナルでボタンとテキストで下記項目を作成したいです。 作りたい項目 ボタン1 次のレコードへ移動 ボタン2 前のレコードへ移動 テキストボックス 現在のレコード/レコード数 ボタンの作成まではできましたが、イベントプロージャにどういう内容を入れたらよろしいのでしょうか
- ベストアンサー
- Access(アクセス)
- 下の移動ボタンと同じような動きをコマンドボタンで実
アクセスです。 フォームの下の移動ボタンと同じような動きをコマンドボタンで実行したいです。 下のボタンは小さすぎて押しずらいので、 前へ、次へと言うコマンドボタンを作り Private Sub cmd_前へ_Click() Call Form_Current End Sub と言う形で、Currentイベントを呼び出してるのですが、 確かにCurrentイベントは実行されるのですが 次へのレコードへの移動はできません。 VBAで下の移動ボタンと同じように前後のレコードに移動する方法はありますか?
- ベストアンサー
- その他MS Office製品
- アクセス2000のフォームでレコードの移動が出来ない。
アクセス2000を使っています。 フォームで入力を途中までして終了し、後でフォームを開いて前のレコードに移動しようとしても移動できません。 新しいレコードの追加も出来ません。 どうしたらよいでしょうか。
- 締切済み
- オフィス系ソフト
- トグルボタンの文字色
windows-xp、アクセス2003、を使っています。 フォームに複数のトグルボタンを置き、下記コードをつけました。 そこで質問です。 「トグルボタンがONの時は赤色、OFFの時は黒色にする。」ということをしたいです。 できましたら、下記コードに書き加えて頂けませんでしょうか。 Private Sub CH01_Click() If CH01 = -1 Then CH02 = 0 CH03 = 0 End If End Sub Private Sub CH02_Click() If CH02 = -1 Then CH01 = 0 CH03 = 0 End If End Sub Private Sub CH03_Click() If CH03 = -1 Then CH01 = 0 CH02 = 0 End If End Sub すみませんが、宜しくお願い致します!!
- ベストアンサー
- その他(プログラミング・開発)
- Access を×ボタンで閉じる時、レコード保存したくない。
Accessで最後の1レコード分のデータ入力を行ってから、レコードの更新をせず、レコードを移動せず、更新ボタンも押さず、いきなりフォームを閉じると、この1レコードが保存されてしまいます。 Me.Undo DoCmd.GoToRecord , , acNewRec を読込み解除時のイベントに入れても、しっかり保存されてしまいます。 閉じる時のイベントに入れるとエラーが出て保存されます。 ×ボタンで閉じる時、入力途中のレコードを保存せずに閉じるにはどうしたら良いでしょう。 初心者ですので、何か簡単で良い方法がありましたら、ご教授願います。
- ベストアンサー
- Visual Basic
- レコードの移動
こんにちは。お願いします。いつもスイマセン。 入力フォームの[ID]に番号を入力したら、対応するレコードに移動して欲しいのです。 ([ID]の書式は数値で、小数点以下は0。主キーにしています。) ここに番号を入れ、Enterキーを押すと、レコードが移動して欲しいです。 (オプションで、Enterキー入力後の動作は、次のフィールドにしてますけども、 このままでいいのかも試したけど分かっていません。) [ID]のテキストボックスのプロパティでは、 イベントの更新後の処理に、マクロ(レコードの検索>次を検索)を 設定しましたが、駄目です。 お分かりいただけたか不安ですが、 カーソルが、[ID]にある状態で、番号を入力して、 検索結果のレコードに移動できるように、望みたいのであります。
- ベストアンサー
- オフィス系ソフト
お礼
度々のご回答ありがとうございます!!! 無事にできました!! 感動です! 教えていただいたものを今一度見直して 精進していきます! 本当に助かりました! ありがとうございました!