[W-ZERO3] DB Anywhereで暗記帳 (PC )
2006年7月2日
CLIE時代愛用していたデータベースソフト「HandBase」。
W-ZERO3でもこれを使おうとWindowsCE版をインストールしたものの、日本語データが扱えなかった。
そこで見つけたのが、「DB Anywhere」と言うソフト。
「HandBase」と同等、いやそれ以上のパフォーマンスを実現しており、日本語のデータも難なく扱える優れもの。
↑この通り日本語もちゃんと表示してくれます。
↑SQL式を組んでクエリ表示もできます。
↑自分でお好みのフォームも作れます。
「DB Anywhere」の使用用途は暗記帳。
上のフォームは、某法律の条文をまとめたもの。
条文のポイントとなるところを穴あき(※部分)にして、"answer"ボタンをクリックするとこの部分が閲覧できるようにしてある。
フォーム上の各オブジェクトには、イベントごとに所定の動作を設定することができます。
参考までに各ボタンのイベント"onClick"に設定した動作を列記。
●back
(前のレコードへ移動)
recMovePrev()
●next
(次のレコードへ移動)
recMoveNext()
●rnd
(解答データのあるレコードへランダムに移動)
$1=1
while($1<20)
recGoTo(_randInt(1, _recTotal()))
if([解答]<>"")
$1=20
else
$1=$1+1
endif
endwhile
while($1<20)
recGoTo(_randInt(1, _recTotal()))
if([解答]<>"")
$1=20
else
$1=$1+1
endif
endwhile
※解答データが含まれているレコードとなるまでランダム移動を繰り返す。
繰り返しは20回まで。
繰り返しは20回まで。
●answer
(解答データを表示)
setVis(TextBox5, 0)
setVis(TextBox8, 1)
setVis(TextBox8, 1)
※TextBox5は条文データ用テキストボックス、TextBox8は解答データ用テキストボックス
●question
(条文データを表示)
setVis(TextBox8, 0)
setVis(TextBox5, 1)
setVis(TextBox5, 1)
●jump
(所望のレコードへ移動)
if({Checkbox2}=true)
recGoTo({TextBox80})
elseif({TextBox7}<>"")
if({Checkbox1}=True)
setObj(TextBox80,_recNum())
endif
recGoTo(_recFindRec(1, "select * from 特許法 where " + {ComboBox1} + " like ""*" +str({TextBx7})+"*"" ORDER BY [条],[項],[号]"))
endif
recGoTo({TextBox80})
elseif({TextBox7}<>"")
if({Checkbox1}=True)
setObj(TextBox80,_recNum())
endif
recGoTo(_recFindRec(1, "select * from 特許法 where " + {ComboBox1} + " like ""*" +str({TextBx7})+"*"" ORDER BY [条],[項],[号]"))
endif
※Checkbox1は"keep"チェックボックス
Checkbox2は"back"チェックボックス
ComboBox1はデータベースの各フィールド名が記載されたコンボボックス
Checkbox1、Checkbox2ともにチェックされていない時は、TextBox7に入力のキーワードがComboBox1で選ばれたフィールドにあるレコードに移動
Checkbox2がチェックされた時は、現在のレコードIDをTextBox80に入力
Checkbox1がチェックされた時は、TextBox80に入力されたIDのレコードに移動
Checkbox2は"back"チェックボックス
ComboBox1はデータベースの各フィールド名が記載されたコンボボックス
Checkbox1、Checkbox2ともにチェックされていない時は、TextBox7に入力のキーワードがComboBox1で選ばれたフィールドにあるレコードに移動
Checkbox2がチェックされた時は、現在のレコードIDをTextBox80に入力
Checkbox1がチェックされた時は、TextBox80に入力されたIDのレコードに移動