Jose's FANTASY SPORTS!

アメリカンフットボールを中心にスポーツ好きで、カントリーギター好きのJoseによる雑記帳です。

ツール作成はいとおかし

2009年03月30日 23時00分00秒 | Weblog
[ 今日の出来事 ]
今日はAccessのDBツール作成をしました。

先日作った、ボタンをクリックすると、選択クエリの結果が表示されるツールを修正しました。

前提条件)
項目「種別」には、全レコードに「10、20、30、40、50」の5種類のデータのうち、いずれかが入力されています。
Nullのレコードはありません。
検索フォームの名前は「form」です。
リスト出力」ボタンをクリックすると、選択クエリの結果がデータシートビューで表示されます。

(課題)
出力する際には、この項目「種別」を、以下のいずれかで抽出します。
 A) 10~50全て表示する
 B) 10、20、30、40で表示する(50だけ表示しない)
 C) 50だけ表示する
という対応が必要です。
これをフォームから選択できるようにしたいです。

(対応)
本当は、もっと良い方法があるはずなのですが、現状のスキル、知識内で対応できる範囲として、今回は以下のように対応しました。
結果、10、20、30、40、50、それぞれ個別に抽出対象にする/しないを設定できるようになりました。

フォーム内に、チェックボックスを5つ作りました。
 □10(コントロール名はCB1 デフォルトチェック)
 □20(コントロール名はCB2 デフォルトチェック)
 □30(コントロール名はCB3 デフォルトチェック)
 □40(コントロール名はCB4 デフォルトチェック)
 □50(コントロール名はCB5 デフォルトチェック)

これらに対応する、5つの非連結テキストボックスを作ります。
 テキストボックス1(コントトール名はTB1 規定値は10 可視“いいえ”)
 テキストボックス2(コントトール名はTB2 規定値は20 可視“いいえ”)
 テキストボックス3(コントトール名はTB3 規定値は30 可視“いいえ”)
 テキストボックス4(コントトール名はTB4 規定値は40 可視“いいえ”)
 テキストボックス5(コントトール名はTB5 規定値は50 可視“いいえ”)

CB1のプロパティ:イベント:更新後処理に、コードビルダで以下の式を設定

If CB1 = True Then
TB1 = "10"
Else
TB1 = Null
End If

CB1がチェックされている(True)だと、TB1に10を入れる。
そうでない場合は、TB1をNullにする。
という式ですね。

CB2~CB5も同様に設定。

ここまでやると、とりあえずフォーム上で、10~50を選択して、テキストボックスにそれぞれ対応する10~50が表示されるようになりました。

今度は、クエリの設定です。
選択クエリの「種別」の抽出条件欄に、以下の式を入力しました。

In ([forms]![form]![TB1],[forms]![form]![TB2],[forms]![form]![TB3],[forms]![form]![TB4],[forms]![form]![TB5])

こうした所、チェックボックスで選択した「種別」で抽出した結果だけを表示する事ができました。
めでたし、めでたし。

要件は、“全部or50以外or50のみ”でしたから、少し違いますが、全く同一の事ができるので、OKです。
(50のみ、にする時のクリック数が4回になった事が、マイナス要素ですね。)

もうちょっとマシなレベルの人だと、どうやるんでしょうね。
まだまだ、だいぶ勉強していかないとです。
でも、こういうの楽しいなぁ。
[Jose's FANTASY SPORTS SITE]
Jose's FANTASY SPORTS!
[他チームのBLOG]
Swamp Dogs
Start me up(GABBA GABBA HEY)
Tyabo-s
Bonz
Keseran Paseran
Dragon Horse(5to81)
Wolverines
Thunder Roads
アイマスク21(57)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする