2

3つ以上の「状態」/オプションを持つアクセスフォーム内にトグルボタンを作成することは可能ですか?

トグルボタンで構成される月次ビューのカレンダーを作成しています。ユーザーは、次のことを示すためにトグルボタンをクリックできる必要があります。

  1. 利用可能
  2. 利用不可
  3. 休日に

したがって、3つ以上の状態/オプションが可能なトグルボタンが必要です。

トグルボタンの方法に代わるアイデアがあれば、私は非常に感謝しています。


トグルボタンで私のカレンダーがどのように見えるかについてのアイデアとして、ここに私のフォームの写真があります:

ここに画像の説明を入力してください

4

2 に答える 2

2

Access 2007 のラベル コントロールに関する Tom のアプローチが気に入っています。以下の手順により、各ラベルのクリック イベントを使用して、緑、黄、赤を簡単に切り替えることができます。

ラベルごとにこのような手順を呼び出します。

Private Sub Label16_Click()
    ToggleColor Me.Label16
End Sub

Private Sub ToggleColor(ByRef lbl As Label)
    Dim lngColor As Long
    Dim strPrompt As String

    If lbl.BackStyle = 0 Then ' Transparent
        strPrompt = "BackColor will not be displayed when " & _
            "BackStyle is Transparent." & vbCrLf & _
            "Change " & lbl.Name & " BackStyle property to Normal."
        MsgBox strPrompt, vbExclamation
    Else
        Select Case lbl.BackColor
        Case vbGreen
            lngColor = vbYellow
        Case vbYellow
            lngColor = vbRed
        Case vbRed
            lngColor = vbGreen
        Case Else
            lngColor = vbGreen
        End Select
        lbl.BackColor = lngColor
    End If
End Sub
于 2012-11-30T20:44:30.673 に答える
2

これを行う方法のサンプルを次に示します。ボタン参照を受け入れるように変更して、多くのボタンにコードを使用できます。

また、これは Access 2010+ でのみ機能することがわかりました。2010 より前のバージョンを使用している場合は、代わりにラベルをボタンとして使用できます。

Private Sub Btn_Click()
    Select Case Me.Btn.BackColor
      Case &HFF
         Me.Btn.BackColor = &HFF00
      Case &HFF00
         Me.Btn.BackColor = &HFF0000
      Case Else
         Me.Btn.BackColor = &HFF
   End Select
End Sub

これにより、3 つの可能な状態が循環します。いろいろな色を使ってみましたが、本当に何でも使えます。

于 2012-11-30T00:56:48.590 に答える