• ベストアンサー

ACCESS コンポボックスの値でフォームを開く

教えてください。 フォーム上にコンポボックスがあり、そのコンポボックスの値が1、2、3、4とあります。 その値別にダブルクリック後、別のフォームを開きたいのですが?  1の場合 Aフォーム  2の場合 Bフォーム  3の場合 Cフォーム  の様な感じです。 宜しくおねがいいたします。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。 コンボボックスの値を数値型にする場合場合、 コンボボックスの値リストを、0、1、2、3 として、以下のようにしてみてください。 Private Sub コンボ0_DblClick(Cancel As Integer) Dim num As Integer If Not IsNull(Me!コンボ0) Then num = Me!コンボ0 Select Case num Case 1 DoCmd.OpenForm "Aフォーム" Case 2 DoCmd.OpenForm "Bフォーム" Case 3 DoCmd.OpenForm "Cフォーム" End Select Me!コンボ0 = 0 End If End Sub 連続してクリックするとき、コンボボックスの 値を消してそのままクリックすると直前に開いた フォームが開かれるのでメモリに残っている データを0で初期化します。0の場合のフォームは ないので直前に開いたフォームが開かれることは ありません。 もし、数値を文字型にする場合は、 値リストを "1","2","3" のように文字型にして、 Private Sub コンボ0_DblClick(Cancel As Integer) Dim num As String If Me!コンボ0 <> "" Then num = Me!コンボ0 Select Case num Case "1" DoCmd.OpenForm "Aフォーム" Case "2" DoCmd.OpenForm "Bフォーム" Case "3" DoCmd.OpenForm "Cフォーム" End Select Me!コンボ0 = "" End If End Sub としてみてください。

agu006
質問者

お礼

ありがとうございます。 動作しました。 感謝感激です。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

No1、No2です。 No2の >コンボボックスの値リストを、0、1、2、3 >として、以下のようにしてみてください。 は、 コンボボックスの値集合タイプを値リストにし、 値集合ソースを、0、1、2、3 として、以下のようにしてみてください。 です。文字型の場合も読み変えてください。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

以下のような感じです。 Private Sub コンボ0_DblClick(Cancel As Integer) Dim num As Integer If Not IsNull(Me!コンボ0) Then num = Me!コンボ0 Select Case num Case 1 DoCmd.OpenForm "Aフォーム" Case 2 DoCmd.OpenForm "Bフォーム" Case 3 DoCmd.OpenForm "Cフォーム" End Select End If End Sub

agu006
質問者

お礼

細かなところまでありがとうございます。 勉強になります。

関連するQ&A