[ 今日の出来事 ]
今日は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)
今日は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)