2012年1月28日土曜日

open office Baseを使用したメンバー管理テーブルの作成

open officeにはデータベースとそれを利用するフォームを作る機能もついている。
今回、質問があったので簡単に手順とか調べてみた。
とりあえずcampany.odbとかつけて作る。
メンバー登録して、登録/削除が行えるシステムでも作ろう。
構成はこんな感じを予定。
・テーブル:member 
・カラム:
id(primary):被らないデータ
name:メンバーの名前
delete_yn:リスト表示されるかされないか
updated_at:更新日
初期画面。GUIでいろいろ作れるみたい。とりあえずテーブル作ろう。
デザイン表示でテーブルを作成。
ウィザード使うと、たぶんなんかテンプレート用意してくれるのかな?
プライマリ指定はフィールド名の左を右クリックで指定できた。
上書き保存、テーブル名はmember。
memberテーブルをダブルクリックでレコード登録画面が開く。 適当にデータを放り込む。
現在時刻でupdated_at更新してほしいところだし、
delete_ynは未選択にしたかったけど後でいじろうっと。 クエリ作成。
ウィザード開いていじってみたが、いまいち操作が分からない。
いずれにせよフォームにデータ出したり入れたりする時の信号作れってことだろ、と
とりあえずSQL文で作ってしまう。
SELECT id,name FROM member IS NULL
getnamelist という名前でクエリを保存してダブルクリック。
あれ?delete_ynのチェックボックスをカラにしたのにデータが取れない。
はい/いいえはどうやってデータ見てるんだろう。
とりあえず IS NOT NULL に変えてデータとってこよう・・・と思ったら。
チェックボックスはこの3パターンがあるみたい。
灰色のチェックでNULLになるらしい。てーとカラが0(false)でチェックが1(true)かな?
このへんのカラムのつくりはまた考えよう。
今度はフォーム。
・リスト表示
・入力画面
・削除画面
あたりがとりあえずは必要だ。さっきのクエリでリストフォーム作ろう。
デザイン表示で・・・と思ったが、いまいち操作がピンとこないし、
俺のセンスは壊滅的なのでビジュアル面は素直にウィザードに頼る事にする。
1.フィールドの選択 
クエリーにはさっき作ったgetnamelist。
テーブルも指定できるあたり、フォーム作ってからクエリ作ってもいい感じ。
とりあえず取ってきたデータ、idとnameをフォーム内フィールドに指定。
2.サブフォームの設定 
複数テーブル連携は現時点ではしない。
3.コントロールの整列 
待ってました!見た目は重要ですね。
俺にレイアウト作らせると大中小項目でしか表示しないぜ。
メインフォームの右端あたりを選ぶことにする。
5.コントロールの整列 
6.データエントリの設定 
7.スタイルの適用 
そのままの設定でいいや。
8.名前の設定 
クエリ名でフォームを作ってくれるみたいだけどごっちゃになったりしないかな?
とりあえずそのままで作る。 さくさくと作成完了・・・ってあれー?
何で1レコードしか出てないんだ?
と思ったら下の方の三角で進んだり戻ったりでデータを取得するらしい。 見づれー。。。
5.コントロールの整列 で表を選択すると一括で見られるが、
もっとユーザインタフェース綺麗にしたいところ。
とりあえず今日はここまで。現状だとエクセルで管理してるのと大して変わらんな。
・疑問点
selectクエリなのにフォームからレコードの変更・保存ができる。
リストだけで仕様に答えてしまった。 便利は便利なんだけど。。
わざわざクエリ項目用意する意味なくね?
最初からフォームにlistフォームとかeditフォームとか作った方が使いやすくね?
と思いましたまる
結合とかインデックス作る時とかにクエリ項目ないと色々まずいのかな?
最初からクエリ項目すっ飛ばせば良かったナァ

Windowsプラットフォームの無料のアプリでDBとは不安定な印象だったけど
簡単な管理ソフトならこれで作れそうですね。

0 件のコメント:

コメントを投稿