• 締切済み

MS-ACCESSのボタンを作りました。

例:前提として生徒のプロフィールテーブルがあるとします。   氏名,性別,テストの点数,偏差値,合否 といった各フィールドがあるとします。   別のテーブルに「合否」というテーブルがあり、合否フィールドに合格、不合格、審議 というレコードをもってるとします。 新しくフォームを作りました。フォーム上に既にレコードが入力された生徒のプロフィールが表示されています。ここに新しく「合否」テキストボックスを配置し、下にボタンを4つ配置して、それぞれ、合格、不合格、審議、やり直しといったボタンを作成するとします。 このそれぞれのボタンを押すと新しくフォーム上に作成された合否テキストボックスにそれぞれ、合格、不合格といったレコードが入力され、同時にそれが生徒のプロフィールテーブルの合否にも反映するような方法と、コマンドを教えてください。

みんなの回答

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

コマンドボタンでやる場合は、それぞれのボタンのクリックイベントにVBAでそれぞれ me.text_合否="合格" me.refresh などと書いてやればできると思う。 コマンドボタンではなく、オプションボタンの値をフィールドに連結させるのもありかな。

upsilon
質問者

補足

配置するボタンのプロシージャーのマウスクリックイベントを下記のように記述しました。 Private Sub 入選_Click() Dim p As Integer With Me.合否 p = .SelStart .SelText = "合格" .SelStart = 0 End With End Sub この場合、ボタンを押すと、同じフォームの中の合否テキストボックスには、”合格”が入力されます。しかし生徒のプロフィールテーブルの合否フィールドには”合格”はレコードされません。コンボボックスであれば、Dlookup関数で参照元テーブルを合否テーブルとし、生徒のプロフィールテーブルにもレコードが反映することはできました。コンボボックスではなくボタンで同じように生徒のプロフィールテーブルに値の代入ができればいいのですが・・。

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

関連するQ&A